
Ultimate access to all questions.
Deep dive into the quiz with AI chat providers.
We prepare a focused prompt with your quiz and certificate details so each AI can offer a more tailored, in-depth explanation.
A company has an application that ingests incoming messages. Dozens of other applications and microservices then quickly consume these messages. The number of messages varies drastically and sometimes increases suddenly to 100,000 each second. The company wants to decouple the solution and increase scalability. Which solution meets these requirements?
A
Persist the messages to Amazon Kinesis Data Analytics. Configure the consumer applications to read and process the messages.
B
Deploy the ingestion application on Amazon EC2 instances in an Auto Scaling group to scale the number of EC2 instances based on CPU metrics.
C
Write the messages to Amazon Kinesis Data Streams with a single shard. Use an AWS Lambda function to preprocess messages and store them in Amazon DynamoDB. Configure the consumer applications to read from DynamoDB to process the messages.
D
Publish the messages to an Amazon Simple Notification Service (Amazon SNS) topic with multiple Amazon Simple Queue Service (Amazon SQS) subscriptions. Configure the consumer applications to process the messages from the queues.
Explanation:
Option D is the correct answer because it provides the best solution for decoupling and scalability requirements.
Option A: Amazon Kinesis Data Analytics
Option B: EC2 Auto Scaling group
Option C: Kinesis Data Streams with single shard
Option D: SNS with multiple SQS subscriptions
This architecture allows the ingestion application to publish messages to an SNS topic once, and each consumer application subscribes to the topic via its own SQS queue. This provides true decoupling, high scalability, and independent processing for all consumer applications.