AWS Certified Solutions Architect – Associate (SAA-C02) — Question 371
A company is designing a web application using AWS that processes 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 be lost. The solution should be simple to set up and maintain.
Which solution meets these requirements?
Answer options
- 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 pool messages from its own data stream using the Kinesis Client Library (KCL).
- B. Create multiple Amazon Simple Notification Service (Amazon SNS) topics and register Amazon SQS queues to their own SNS topic based on the quote type. Configure the web application to publish messages to the SNS topic queue. Configure each backend application server to work its own SQS queue.
- C. Create a single Amazon Simple Notification Service (Amazon SNS) topic and subscribe the 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 work 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 Elasticsearch Service (Amazon ES) cluster. Configure the web application to send messages to the proper delivery stream. Configure each backend group of application servers to search for the messages from Amazon ES and process them accordingly.
Correct answer: C
Explanation
Using a single Amazon SNS topic combined with Amazon SQS and SNS message filtering provides a highly decoupled, reliable, and simple-to-maintain solution that prevents data loss. Amazon SQS ensures messages are safely stored until processed, easily meeting the 24-hour response requirement without the overhead of managing multiple SNS topics. Other solutions using Amazon Kinesis or Amazon ES introduce unnecessary operational complexity and are more difficult to set up and maintain.