An application ingests incoming messages that dozens of other applications and microservices then consume quickly. Message volume varies drastically and can spike to 100,000 messages per second. The company wants to decouple components and increase scalability. Which solution meets these requirements?
Choose an answer
Tap an option to check your answer.
Correct answer: Publish the messages to an Amazon Simple Notification Service (Amazon SNS) topic with multiple Amazon SOS subscriptions. Configure the consumer applications to process the messages from the queues..
Why this is the answer
Publishing messages to an Amazon SNS topic with multiple Amazon SQS subscriptions effectively decouples the message producer from consumers and handles varying message volumes. SNS acts as a fan-out service, delivering each message to all subscribed SQS queues. SQS queues then reliably store messages, allowing multiple consumer applications to process them independently and at their own pace, accommodating spikes up to 100,000 messages per second. Other options are less suitable: Kinesis Data Analytics is for real-time analytics, not primarily for message ingestion and decoupling for multiple consumers. Scaling EC2 instances based on CPU alone doesn't inherently decouple applications or provide message persistence for reliable delivery to many consumers. Kinesis Data Streams with a single shard would quickly become a bottleneck at 100,000 messages per second. DynamoDB is a NoSQL database, not ideal for a message queueing system for multiple consumers.
Pass your exam — without the endless answer hunt
Get every verified question and explanation for this exam in one place, and save hours of prep. 1,000+ certifications · 20+ languages · free to start.
Pass your exam faster → No card needed