Conceptly
← 전체 목록
📬

Amazon SQS

통합메시지 큐 서비스

SQS는 작업 메시지를 안전하게 잠시 쌓아 두었다가 소비자가 꺼내 처리하게 하는 대기열입니다. 생산자와 소비자의 속도를 분리하고 재시도와 실패 격리를 통해 비동기 작업을 안정화합니다.

아키텍처 다이어그램

📊 데이터 흐름 다이어그램

점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다

왜 필요한가요?

결제 후 영수증 발송, 재고 반영, 추천 업데이트를 모두 바로 호출하면 느린 하위 시스템 하나가 전체 요청을 붙잡습니다. 트래픽이 몰릴 때 작업을 안전하게 쌓아두지 못하면 실패가 연쇄적으로 번집니다.

왜 이런 방식이 등장했나요?

초기 시스템은 API가 후속 작업을 바로 호출하는 경우가 많았지만, 부하가 오르면 연쇄 실패가 쉽게 일어났습니다. 그래서 생산자와 소비자를 분리하고 작업을 흡수하는 큐 기반 아키텍처가 중요해졌습니다.

안에서 어떻게 동작하나요?

SQS는 메시지를 큐에 저장하고 소비자가 poll해서 처리하게 합니다. 가시성 제한, 재시도, DLQ(여러 번 실패한 메시지를 따로 격리해 원인 분석하게 하는 대기열)를 통해 실패를 격리하고, 처리량 급증도 흡수합니다. Standard 큐는 높은 처리량과 at-least-once 전달에 맞고, FIFO 큐는 순서와 정확히 한 번 처리 요구가 강한 흐름에 맞습니다.

언제 쓰나요?

백그라운드 작업, 주문 후 비동기 처리, 이메일 발송, 버퍼링, 재시도가 필요한 파이프라인에 적합합니다. 한 이벤트를 여러 소비자에게 동시에 뿌려야 하는 브로드캐스트에는 맞지 않습니다.

비동기 처리작업 큐버퍼링서비스 디커플링