IoT sensor events arrive every second and are consumed by several processing applications.
After a failure, each application must reread data that is still within the retention period.
Which service is most appropriate?
Use Amazon Kinesis Data Streams so multiple consumers can read retained records independently and replay them.
Detailed explanation
SQS is an asynchronous queue; it does not provide the same ordered, independently replayable stream model.
SQS is an asynchronous queue; it does not provide the same ordered, independently replayable stream model.
Firehose manages delivery to destinations, but it is not a retained stream for multiple custom consumers to reread at arbitrary positions.
Firehose manages delivery to destinations, but it is not a retained stream for multiple custom consumers to reread at arbitrary positions.
A batch job processes stored data but does not continuously retain and fan out sensor events to consumers.
A batch job processes stored data but does not continuously retain and fan out sensor events to consumers.
Records are retained in shards and can be read by independent consumers within the retention period for replay.
Records are retained in shards and can be read by independent consumers within the retention period for replay.
Check official documentation
Compare the following points with the official documentation.
Kinesis Data Streamsのデータ保持期間、シャード、コンシューマーの公式説明を確認する。
What to confirm
配信専用サービスと、保持・再読可能なストリーム基盤を区別できる。
Key points
- Kinesis Data Streams
- Retention period
- Replay
- Multiple consumers
Notes
- Environment: AWS公式DEA-C01試験ガイドと各サービスの公式ドキュメントの確認
- Confirm current AWS service behavior in the official DEA-C01 documentation.
Foundation review
Stream versus queue
A stream keeps an ordered history for readers, while a queue primarily hands messages to processing workers.
Independent reads
Separate consumers can maintain their own positions and recover without removing the data for other consumers.