DOP-C02 Question 306
Select 2You are designing an event-driven architecture to process thousands of e-commerce order events per second. Each order event must be processed by multiple downstream systems, including a payment processing service, an inventory management system, and a shipping service. The architecture must ensure high scalability, fault tolerance, and the ability to handle retries for failed processing in individual downstream systems. Which combination of AWS services would best meet these requirements?
- A
Amazon SNS with multiple Amazon SQS queues subscribed for each downstream system
- B
Amazon Kinesis Data Streams with consumers for each downstream system
- C
AWS Step Functions to orchestrate the processing across all downstream systems
- D
Amazon EventBridge with rules to route events to each downstream system
- E
Amazon MQ to fan out messages to each downstream system
Show answer and explanation
Correct answers: A, B
Explanation
To design a scalable, fault-tolerant event-driven architecture, Amazon SNS with SQS queues and Amazon Kinesis Data Streams are the best options. SNS with SQS queues enables fan-out and independent processing with built-in retry mechanisms, while Kinesis Data Streams supports high-throughput event streaming with multiple consumers for parallel processing. These services align well with the requirements for processing thousands of order events per second across multiple downstream systems.
- A. Correct.
Amazon SNS with multiple Amazon SQS queues is a common pattern for fan-out in event-driven architectures. SNS handles message publishing, and SQS queues ensure each downstream system can independently process messages, supporting retries and fault tolerance.
- B. Correct.
Amazon Kinesis Data Streams is ideal for high-throughput event streaming and allows multiple consumers to process the same data stream independently. This ensures scalability and fault tolerance for processing in parallel.
- C. Incorrect.
AWS Step Functions is designed for orchestration of workflows. While useful in some scenarios, it is not optimal for high-throughput, event-driven architectures where multiple systems need to process events independently.
- D. Incorrect.
Amazon EventBridge is useful for routing events based on rules but does not natively provide retry or fan-out capabilities to multiple systems. Additional custom implementations would be required to handle retries and fault tolerance.
- E. Incorrect.
Amazon MQ is a managed message broker service that supports traditional messaging protocols. However, it is less scalable than Amazon SNS and Amazon Kinesis for high-throughput, event-driven architectures.