📬 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의 우체통” 이라고 이해하면 됩니다.