IT/AWS

Amazon SQS 완전 정복: 메시지 큐의 개념부터 주의할 점

바다, 2025. 8. 4. 09:57
반응형

📌 목차

  1. Amazon SQS란?
  2. SQS의 기본 개념과 동작 방식
  3. Standard vs FIFO 큐 차이
  4. 메시지 처리 흐름 (Producer → Queue → Consumer)
  5. 실무에서 SQS를 사용하는 이유
  6. SQS 사용 시 주의할 점 & Best Practice
  7. 마무리: 언제 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