
Answer-first summary for fast verification
Answer: Subscribe to an RDS event notification and send an Amazon Simple Notification Service (Amazon SNS) topic fanned out to multiple Amazon Simple Queue Service (Amazon SQS) queues. Use AWS Lambda functions to update the targets.
## Explanation Option D is the correct answer because it provides the most scalable and decoupled architecture for this scenario: **Why Option D is correct:** 1. **RDS Event Notifications**: Amazon RDS provides event notifications that can trigger when specific database events occur (like record updates/deletes). This is more reliable than trying to trigger Lambda directly from database updates. 2. **SNS Fan-out Pattern**: Amazon SNS (Simple Notification Service) is designed for fan-out scenarios where one message needs to be delivered to multiple subscribers. When an automobile is sold, the SNS topic can broadcast the message to multiple SQS queues. 3. **SQS Queues for Each Target**: Each target system gets its own SQS queue, ensuring: - Message durability and persistence - Independent processing rates for each target system - Ability to retry failed messages per target without affecting others - Decoupling between the notification source and target systems 4. **Lambda Functions for Processing**: Each SQS queue can trigger its own Lambda function to process the message and update the specific target system. **Why other options are incorrect:** - **Option A & B**: These options use Lambda triggered directly by RDS updates, which is not a native AWS pattern. RDS doesn't natively trigger Lambda functions on data changes. Also, using a single SQS queue for multiple targets creates coupling and doesn't handle different processing requirements well. - **Option C**: This reverses the correct pattern - it suggests fanning out from SQS to SNS, which doesn't make sense. SQS is for point-to-point messaging, while SNS is for publish-subscribe (fan-out) patterns. **Key AWS Services Pattern:** The correct pattern is: **RDS Event → SNS Topic → Multiple SQS Queues → Lambda Functions → Target Systems** This architecture ensures reliability, scalability, and loose coupling between components.
Author: LeetQuiz Editorial Team
Ultimate access to all questions.
No comments yet.
A company has an automobile sales website that stores its listings in a database on Amazon RDS. When an automobile is sold, the listing needs to be removed from the website and the data must be sent to multiple target systems.
Which design should a solutions architect recommend?
A
Create an AWS Lambda function triggered when the database on Amazon RDS is updated to send the information to an Amazon Simple Queue Service (Amazon SQS) queue for the targets to consume.
B
Create an AWS Lambda function triggered when the database on Amazon RDS is updated to send the information to an Amazon Simple Queue Service (Amazon SQS) FIFO queue for the targets to consume.
C
Subscribe to an RDS event notification and send an Amazon Simple Queue Service (Amazon SQS) queue fanned out to multiple Amazon Simple Notification Service (Amazon SNS) topics. Use AWS Lambda functions to update the targets.
D
Subscribe to an RDS event notification and send an Amazon Simple Notification Service (Amazon SNS) topic fanned out to multiple Amazon Simple Queue Service (Amazon SQS) queues. Use AWS Lambda functions to update the targets.