반응형
📌 목차
- Amazon SQS란?
- SQS의 기본 개념과 동작 방식
- Standard vs FIFO 큐 차이
- 메시지 처리 흐름 (Producer → Queue → Consumer)
- 실무에서 SQS를 사용하는 이유
- SQS 사용 시 주의할 점 & Best Practice
- 마무리: 언제 SQS를 선택해야 할까?
1. Amazon SQS란?
Amazon SQS(Simple Queue Service)는 AWS에서 제공하는 완전관리형 메시지 큐 서비스이다.
애플리케이션 간 비동기 메시지 전달을 가능하게 해주며, 서비스 간 결합도를 낮추고 확장성과 장애 대응력을 높일 수 있다.
2. SQS의 기본 개념과 동작 방식
- 비동기 메시징: 생산자(Producer)가 큐에 메시지를 넣고, 소비자(Consumer)가 비동기적으로 가져가 처리
- 메시지 보존: 기본 4일, 최대 14일까지 메시지를 저장 가능
- 최대 메시지 크기: 기본 256KB
- 중복 제거: FIFO 큐에서만 보장
SQS는 직접 메시지를 처리하지 않고, 메시지를 안전하게 "중계"하는 역할
3. Standard vs FIFO 큐 비교
항목Standard QueueFIFO Queue
| Standard Queue | FIFO Queue | |
| 순서 보장 | 없음 | 있음 |
| 중복 메시지 | 가능성 있음 | 없음 (deduplication) |
| 처리 속도 | 매우 빠름 | 상대적으로 느림 |
| 사용 예 | 비정형 작업, 알림 등 | 주문 처리, 결제 등 순서 중요 시 |
4. 메시지 처리 흐름
Producer (Spring, Lambda 등) → PUT SQS Queue → Poll Consumer (Lambda, Worker EC2 등)
- Producer: 메시지를 SendMessage로 전송
- Queue: 메시지를 보관
- Consumer: ReceiveMessage로 읽고 처리 → 삭제 (DeleteMessage)
5. 실무에서 SQS를 사용하는 이유
트래픽 피크에 유연하게 대응 가능
서비스 장애 격리: 한쪽이 죽어도 메시지는 유지
확장성 우수 (무제한 처리량)
서버리스 아키텍처와 궁합 (Lambda 연동)
7. SQS 사용 시 주의할 점 & Best Practice
- 메시지를 받았다고 해서 자동 삭제 안 됨 → 명시적 DeleteMessage 필요
- Visibility Timeout: 처리 실패 시 메시지가 재전송되도록 보장 (기본 30초)
- Dead Letter Queue(DLQ): 오류 메시지 따로 분리 가능
- Long Polling: 빈 메시지 조회 방지 → 비용 절감
8. 마무리: 언제 SQS를 선택해야 할까?
- 마이크로서비스 간 통신을 느슨하게 만들고 싶을 때
- 동시 처리량을 탄력적으로 조절하고 싶을 때
- 장애가 나더라도 데이터 유실을 방지하고 싶을 때
반응형
'IT > AWS' 카테고리의 다른 글
| AWS SAA 핵심 서비스 정리 (카테고리별 요약) (4) | 2025.07.24 |
|---|