AWS Certified Solutions Architect Associate SAA-C03 Practice Question
A retail company is decomposing a monolithic application into microservices. When a new order is placed, the OrderService must publish events so that the InventoryService, BillingService, and NotificationService can each process the event independently without the OrderService needing to know about the other services. The solution must minimize operational overhead and follow AWS best practices for a scalable, event-driven architecture. Which design meets these requirements?
Publish order events to an Amazon SNS topic. Create a separate AWS Lambda function for each downstream microservice and subscribe each function to the SNS topic.
Expose a REST endpoint in each downstream microservice through Amazon API Gateway. Configure the OrderService to make HTTP POST requests to every endpoint.
Store order events in an Amazon DynamoDB table. Use an Amazon EventBridge scheduled rule to query the table every minute and start AWS Step Functions workflows for processing.
Write events directly to a single Amazon SQS queue. Configure one AWS Lambda function to poll the queue and invoke the downstream services synchronously.
Publishing order events to an Amazon SNS topic and subscribing a separate AWS Lambda function for each downstream microservice provides high-throughput fan-out, loose coupling, and serverless compute with almost no infrastructure to manage. The REST-endpoint option is tightly coupled and synchronous; the single SQS queue with one Lambda function introduces a bottleneck and additional logic; and the scheduled EventBridge query of a DynamoDB table is inefficient and not event-driven.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is Amazon SNS and how does it work with AWS Lambda?
Open an interactive chat with Bash
What are microservices and how does an event-driven architecture benefit them?
Open an interactive chat with Bash
What are the advantages of using AWS Lambda in conjunction with Amazon SNS?