Which architecture diagram best represents a scalable order processing pipeline that handles order validation, payment processing, inventory update, and notification?
Think about scalability and decoupling of components.
Option D uses microservices and asynchronous messaging, which allows each step to scale independently and handle failures gracefully.
Your order processing system receives 10,000 orders per minute at peak. Each order requires 3 seconds of processing time on average per step. How many parallel workers are needed per step to handle peak load without delay?
Calculate orders per second and multiply by processing time.
10,000 orders/min = ~167 orders/sec. Each takes 3 seconds, so 167 * 3 = 501 workers needed to process simultaneously without delay.
Which data store is best suited for storing order states in a pipeline requiring strong consistency, high availability, and fast reads?
Consider consistency and durability requirements.
Relational databases provide strong consistency and ACID guarantees, important for order state correctness.
What is the correct sequence of steps when an order is placed in a decoupled asynchronous pipeline?
Think about logical order of processing an order.
First validate the order, then process payment, update inventory, and finally notify the customer.
In a distributed order processing pipeline, which component should handle retries for failed steps to ensure reliability?
Consider where failures are detected and how retries are managed asynchronously.
Message queues with dead-letter queues and retry policies handle retries transparently and reliably in asynchronous pipelines.
