한 페이지로 Amazon SQS 마스터
Source: Dev.to
Introduction
한 buka(길거리 식당)에서는 주문 번호를 받아 주는 사람이 없습니다. 졸로프를 내는 마마는 누가 먼저 왔는지 신경 쓰지 않고, 가장 가까이 있거나 가장 크게 외치거나 접시를 가장 멀리 내민 사람에게 서빙합니다. 당신이 먼저 왔어도 뒤에 온 사람이 먼저 서빙될 수 있어요. 인내심을 가지고 기다리면 결국 음식을 받지만, 여기서 중요한 것은 속도입니다.
반면 GTBank나 Access Bank 같은 은행에서는 순서가 중요합니다. 이체가 완료되기 전에 출금 담당자에게 먼저 처리해 달라고 할 수 없죠. 순서가 전부입니다.
이것이 바로 Amazon SQS Standard 큐와 Amazon SQS FIFO 큐의 차이와 같습니다.
Standard Queues – the “buka” model
- 메시지는 빠르게, 대규모로, 시스템이 관리할 수 있는 어떤 순서든 큐에 넣고 뽑습니다.
- 전달이 순서대로 보장되지 않으며 메시지가 한 번 이상 전달될 수 있습니다.
- 이 동작은 의도된 것으로, 속도와 높은 처리량을 위한 트레이드‑오프입니다.
When to use Standard queues
- 사용자에게 OTP 알림 전송 – 순서는 중요하지 않음.
- 업로드 후 프로필 사진 리사이징 – 순서는 상관 없음.
- 분석을 위한 앱 이벤트 로깅 – 순서는 필요 없음.
FIFO Queues – the “bank” model
FIFO(First‑In‑First‑Out) 큐는 큐에 들어간 첫 번째 메시지가 항상 첫 번째로 처리된다는 것을 보장합니다.
- Exactly‑once processing – 중복 전달이 없습니다.
- Strict ordering – 메시지는 전송된 순서대로 처리됩니다.
Trade‑off
FIFO 큐는 Standard 큐에 비해 처리량이 낮으며, Standard 큐가 제공하는 원시 볼륨을 맞추기 어렵습니다.
When to use FIFO queues
- Paystack 또는 Flutterwave 결제 처리 – 순서가 중요함.
- 거래가 확인된 후 지갑 차감 – 순서가 중요함.
- 서로 의존하는 온보딩 단계 실행 – 순서가 중요함.
Choosing the right queue
문제는 “어느 것이 더 좋다”가 아니라:
- 두 메시지가 잘못된 순서로 도착하거나 같은 메시지가 두 번 처리되면 어떻게 되는가?
답이 “아무 일도 없고 괜찮다”면 Standard 큐를 선택하세요.
답이 불안하다면 FIFO 큐를 선택하세요.
나이지리아에서 운영되는 대부분의 핀테크 시스템은 FIFO 큐가 필요하고, 대부분의 알림이나 미디어 시스템은 Standard 큐를 안전하게 사용할 수 있습니다.
Conclusion
시스템 요구사항을 정확히 이해하면 적절한 SQS 큐 유형을 선택할 수 있습니다.
다음에 어떤 AWS 개념을 설명해 드릴까요?
더 알고 싶으신가요? LinkedIn에서 연결해요.