
Answer-first summary for fast verification
Answer: Create a single Amazon Simple Notification Service (Amazon SNS) topic. Subscribe Amazon Simple Queue Service (Amazon SQS) queues to the SNS topic. Configure SNS message filtering to publish messages to the proper SQS queue based on the quote type. Configure each backend application server to use its own SQS queue.
## Explanation **Correct Answer: C** **Why Option C is correct:** 1. **Message Separation by Quote Type**: Using SNS message filtering allows messages to be routed to different SQS queues based on quote type attributes, ensuring proper separation. 2. **Reliability and No Message Loss**: SQS provides message durability with at-least-once delivery semantics. Messages are stored until processed, ensuring they don't get lost. 3. **24-hour Response Time**: SQS messages can have visibility timeouts up to 12 hours (configurable), and dead-letter queues can handle retries, ensuring processing within 24 hours. 4. **Operational Efficiency & Minimal Maintenance**: A single SNS topic with multiple SQS subscribers simplifies architecture. SNS message filtering handles routing automatically, reducing maintenance overhead. 5. **Scalability**: Each backend server can independently process messages from its dedicated SQS queue, enabling parallel processing. **Why Other Options are Incorrect:** **Option A (Kinesis Data Streams):** - Kinesis is designed for real-time streaming analytics, not for guaranteed message processing with 24-hour SLAs. - Requires manual shard management and scaling. - KCL adds complexity compared to SQS. - Less efficient for this use case of quote processing. **Option B (Lambda + SNS per type):** - Creates multiple Lambda functions and SNS topics (one per quote type), increasing maintenance. - Lambda functions have execution time limits (15 minutes), which could be problematic for complex quote processing. - Serverless approach may not maximize operational efficiency for this specific requirement. **Option D (Kinesis Firehose + OpenSearch):** - Firehose is for data delivery to storage/analytics services, not for reliable message processing. - OpenSearch is a search/analytics engine, not a message queue. - Searching for messages adds latency and complexity. - Doesn't guarantee message processing within 24 hours. **Key AWS Services Used:** - **Amazon SNS**: Pub/Sub messaging service with message filtering capabilities - **Amazon SQS**: Fully managed message queuing service with durability and at-least-once delivery - **Message Filtering**: Allows routing messages to different SQS queues based on message attributes This solution provides a decoupled, scalable, and maintainable architecture that meets all requirements.
Ultimate access to all questions.
No comments yet.
Author: LeetQuiz Editorial Team
A company is using AWS to design a web application that will process insurance quotes. Users will request quotes from the application. Quotes must be separated by quote type, must be responded to within 24 hours, and must not get lost. The solution must maximize operational efficiency and must minimize maintenance.
Which solution meets these requirements?
A
Create multiple Amazon Kinesis data streams based on the quote type. Configure the web application to send messages to the proper data stream. Configure each backend group of application servers to use the Kinesis Client Library (KCL) to pool messages from its own data stream.
B
Create an AWS Lambda function and an Amazon Simple Notification Service (Amazon SNS) topic for each quote type. Subscribe the Lambda function to its associated SNS topic. Configure the application to publish requests for quotes to the appropriate SNS topic.
C
Create a single Amazon Simple Notification Service (Amazon SNS) topic. Subscribe Amazon Simple Queue Service (Amazon SQS) queues to the SNS topic. Configure SNS message filtering to publish messages to the proper SQS queue based on the quote type. Configure each backend application server to use its own SQS queue.
D
Create multiple Amazon Kinesis Data Firehose delivery streams based on the quote type to deliver data streams to an Amazon OpenSearch Service cluster. Configure the application to send messages to the proper delivery stream. Configure each backend group of application servers to search for the messages from OpenSearch Service and process them accordingly.