콘텐츠로 이동

📬 AWS SQS (Simple Queue Service) 정리


1️⃣ AWS SQS란?

Amazon SQS는 완전 관리형 메시지 큐 서비스입니다. 애플리케이션 간 메시지를 안전하게 전달하고, 처리 속도를 분리(Decouple)할 수 있게 해줍니다.

👉 쉽게 말해, “주문서 함(큐)에 메시지를 넣어두면, 처리하는 직원(Consumer)이 꺼내가는 구조” 라고 이해하면 됩니다.


2️⃣ 주요 개념

생산자(Producer)

메시지를 생성하고 큐에 넣는 주체 (예: 웹 서버, 애플리케이션)

큐(Queue)

메시지를 잠시 저장하는 공간

소비자(Consumer)

큐에서 메시지를 가져가 처리하는 주체 (예: 워커 서버, Lambda 등)

메시지(Message)

전달할 데이터 단위 (JSON, 문자열 등)


3️⃣ 아키텍처 시각화

flowchart TD A["Producer (웹/앱 서버)"] --> B["SQS Queue"] B --> C["Consumer (Worker, Lambda)"]

4️⃣ SQS 큐 유형

표준 큐 (Standard Queue)

무제한 처리량

최소 1회 이상 전달 (메시지 중복 가능)

순서 보장 없음

FIFO 큐 (First-In-First-Out)

메시지 순서 보장

중복 제거 지원 (Exactly-once processing)

처리량 제한 존재 (기본 3000 msg/s with batching)


5️⃣ 특징

📨 비동기 처리 → 애플리케이션 간 결합도 감소

♻️ 내구성 → 메시지를 여러 AZ에 중복 저장

📊 확장성 → 자동으로 큐 크기 확장

⏱️ 가시성 타임아웃(Visibility Timeout) → 메시지를 소비자가 처리하는 동안 다른 소비자가 못 보게 잠금

💰 비용 효율성 → 요청 수 기반 과금


6️⃣ 현업 활용 사례

🛒 이커머스 주문 처리

주문 발생 시 SQS 큐에 저장 → 워커 서버가 하나씩 처리

📩 비동기 작업 처리

이미지 업로드 후 → SQS 큐 → Lambda가 이미지 리사이즈 처리

📡 IoT 데이터 수집

센서 데이터 → SQS 큐 → 분석 시스템으로 전달

🕹️ 마이크로서비스 통신

서비스 간 직접 호출 대신 큐를 통해 안정적으로 메시지 교환


✅ 정리

AWS SQS = 메시지 큐 서비스

Producer → SQS Queue → Consumer 구조

큐 유형: 표준(Standard), FIFO

장점: 비동기 처리, 확장성, 내구성, 비용 효율성

현업 활용: 주문 처리, 비동기 작업, IoT, 마이크로서비스 통신

👉 한마디로, “메시지를 잠시 보관해주는 AWS의 우체통” 이라고 이해하면 됩니다.