DOP-C02 Question 291
Select 2You are managing an e-commerce application that processes a large number of orders daily. The application is designed to send notifications to customers about the status of their orders (e.g., 'Order Received', 'Order Shipped'). You want to implement a solution where an event is triggered whenever a new order is placed, and the notification system processes these events asynchronously to ensure scalability. Which combination of services should you use to achieve this?
- A
Amazon SQS for queuing events and AWS Lambda for processing events
- B
Amazon SNS for fan-out messaging and AWS Lambda for processing notifications
- C
AWS Step Functions to manage event sources and Amazon DynamoDB Streams to trigger notifications
- D
Amazon EventBridge for event routing and AWS Lambda for processing events
- E
Amazon S3 Event Notifications for processing event triggers directly with AWS Lambda
Show answer and explanation
Correct answers: A, D
Explanation
To implement a scalable, event-driven architecture for processing new order events and sending notifications, you need a combination of services that can handle event queuing, routing, and asynchronous processing. Amazon SQS with AWS Lambda is a common choice for queue-based architectures, while Amazon EventBridge with AWS Lambda provides advanced event routing and processing capabilities. Both combinations are well-suited for this scenario, depending on the exact requirements of the application.
- A. Correct.
Correct. Amazon SQS is designed for decoupling and queuing messages, while AWS Lambda can process these messages asynchronously, making it an excellent solution for scalable event-driven architectures.
- B. Incorrect.
Incorrect. Amazon SNS is primarily used for fan-out messaging rather than queuing messages. While it can send notifications to multiple subscribers, it is not the best fit for queuing and asynchronous processing in this scenario.
- C. Incorrect.
Incorrect. AWS Step Functions is used for orchestrating workflows, and DynamoDB Streams are used for reacting to changes in DynamoDB tables. Neither is a suitable combination for processing and notifying customers of order events in this use case.
- D. Correct.
Correct. Amazon EventBridge allows for advanced event routing, sending events to AWS Lambda for processing. This combination provides a scalable and decoupled architecture for handling order events.
- E. Incorrect.
Incorrect. Amazon S3 Event Notifications are specific to S3 bucket events (e.g., object creation or deletion) and are not applicable to the use case of processing order-related events in an e-commerce application.