AWS Certified Solutions Architect – Associate (SAA-C03)Design High-Performing ArchitecturesHard

A company is building a new microservices application that requires a highly performant and scalable messaging queue to decouple its services. The queue needs to support millions of messages per second, ensure message delivery even if a consumer is unavailable, and allow multiple consumers to process the same message stream independently. Which AWS service should be used?

  1. AAmazon SQS FIFO
  2. BAmazon SQS Standard
  3. CAmazon MQ
  4. DAmazon Kinesis Data Streams
Show answer & explanation

Correct answer: D. Amazon Kinesis Data Streams

Amazon Kinesis Data Streams is designed for real-time processing of large streams of data records. It can handle millions of messages per second, ensures message delivery, and allows multiple consumers to process the same stream independently (through different shard iterators), which is ideal for decoupling microservices with high fan-out requirements.

Why the other options are wrong

  • A. SQS FIFO guarantees message order and exactly-once processing, but it has lower throughput limits than Kinesis Data Streams and still doesn't inherently support multiple independent consumers of the same message stream in the same way Kinesis does.
  • B. SQS Standard is a distributed queue, but it doesn't guarantee message order and is not designed for multiple consumers independently processing the same message stream (it's a pull-based queue where messages are deleted upon consumption).
  • C. Amazon MQ is a managed message broker compatible with Apache ActiveMQ and RabbitMQ, typically used for migrating existing applications. It doesn't offer the extreme scale for 'millions of messages per second' as efficiently as Kinesis Data Streams for new cloud-native applications.

Amazon Kinesis Data Streams

A real-time data streaming service that can continuously capture and store gigabytes of data per second from hundreds of thousands of sources.

  • Designed for high-throughput, real-time data processing.
  • Data is stored for up to 365 days (extended data retention).
  • Allows multiple applications (consumers) to process the same stream concurrently and independently.
  • Ordered records within each shard, but not across shards.

Memory trick: Messages flow, streams grow, Kinesis for speed, SQS for show.

More Design High-Performing Architectures questions