SQS (Simple Queue Service)
생산자가 소비자에게 보내는 데이터가 많을 수록 소실될 위험이 크다. 또한 보내지는 데이터에 따른 확장이 용이하지 않다. 따라서 그 사이에 데이터를 저장할 buffer를 생성하여 생산자와 소비자를 분리한다.
- 처리량, 대기열, 용량 제한 없음.
- 대신 메세지 수명 짧음 (4~14일)
- 메세지 용량 작음 (246KB 미만)
- 높은 처리량, 높은 볼륨으로 중복 메세지 있을 수 있음
SQS FIFO (Simple Queue Service First in First out)
- 기본 SQS는 대기열에서 순서를 보장하지 않지만 SQS FIFO는 순서를 보장함
- 중복 제거됨
- 처리량 제한됨
SNS (Simple Notification Service)
여러 생산자에서 생산된 데이터는 SNS에 한 topic으로 들어가며, 해당 topic을 구독하고 있는 소비자에게 전달된다.
SNS FIFO (Simple Queue Service First in First out)
- Message Group ID에 의해 정렬됨
- 소비자는 SQS FIFO로 제한됨. 따라서 처리량이 SQS FIFO 처리량 제한을 따름
- 중복 제거됨
Kinesis
Streaming data를 실시간으로 수집, 처리, 분석하는 것을 쉽게 해줌
Kinesis Data Stream
- 데이터 대규모 수집
- real-time
- 1~365일 보관되어 데이터 replay 가능
Kinesis Data Firehorse
- AWS data stores에 데이터 loading해줌
- fullt managed
- Near real-time (batch 안쓰면 최소 60초 지연)
- 데이터 보관 안해서 replat 불가
[참조]
Amazon 심플 큐 서비스란?
Amazon Kinesis Data Streams 용어 및 개념