DOP-C02 Question 303
Select 2You are designing an event-driven architecture for a real-time order processing system. When a new order is placed, it triggers an order validation process and a payment processing workflow simultaneously. You also want to ensure that a failure in either process does not affect the other and that events are processed asynchronously. Which combination of AWS services should you use to implement this architecture?
- A
Amazon SNS and Amazon SQS
- B
Amazon Kinesis Data Streams and AWS Lambda
- C
Amazon EventBridge and Amazon SQS
- D
AWS Step Functions and Amazon Kinesis Data Streams
- E
Amazon SNS and AWS Step Functions
Show answer and explanation
Correct answers: A, C
Explanation
To implement an event-driven architecture that supports fan-out and asynchronous processing, you can use Amazon SNS with Amazon SQS or Amazon EventBridge with Amazon SQS. Both combinations allow events to be routed to multiple processing workflows (order validation and payment processing) independently and asynchronously. SNS and EventBridge handle the fan-out, while SQS ensures decoupling and reliable delivery of messages to each workflow.
- A. Correct.
Amazon SNS and Amazon SQS is correct because SNS can fan out messages to multiple SQS queues, enabling parallel processing of the order validation and payment workflows. SQS ensures that events are processed asynchronously.
- B. Incorrect.
Amazon Kinesis Data Streams and AWS Lambda is incorrect because Kinesis is more suited for high-throughput event streaming rather than fan-out scenarios. While Lambda can process events from Kinesis, it does not natively support the fan-out model required here.
- C. Correct.
Amazon EventBridge and Amazon SQS is correct because EventBridge can route events to multiple SQS queues, ensuring asynchronous and independent processing of workflows.
- D. Incorrect.
AWS Step Functions and Amazon Kinesis Data Streams is incorrect because Step Functions are designed for orchestrating workflows, not for implementing fan-out or asynchronous processing. Kinesis, in this context, is not relevant for the fan-out requirement.
- E. Incorrect.
Amazon SNS and AWS Step Functions is incorrect because although SNS can fan out messages, Step Functions is not well-suited for independent and asynchronous processing of events. It is primarily designed for orchestrating workflows in a more synchronous manner.