Which design should a solutions architect recommend?
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.
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.
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.
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.
Explanations:
While an AWS Lambda function can be triggered by changes, Amazon RDS does not natively support triggers to directly invoke Lambda functions based on database changes. A custom solution with polling or an event-driven architecture is needed to achieve this behavior.
Similar to Option A, Amazon RDS cannot directly trigger Lambda functions when a database is updated. FIFO queues are not necessary in this scenario since ordered processing is not a strict requirement for distributing sales information to targets.
Amazon RDS event notifications cannot send data to Amazon SQS queues directly. Event notifications are also limited to specific DB-level events rather than granular data changes (e.g., row updates or deletes). This approach does not support the required update for each sale.
Amazon RDS event notifications can publish to Amazon SNS, which can then fan out to SQS queues. Lambda functions subscribed to each SQS queue can then be used to update multiple target systems as required. This is a scalable solution for propagating the sold vehicle information to multiple targets.