The Warehouse System That Fell a Day Behind
Your order service currently calls the warehouse-allocation service synchronously over HTTP the moment a customer checks out: reserve inventory, pick a fulfillment center, return a confirmation. At normal volume (150 orders/min) this works, but the warehouse-allocation service occasionally takes 8-10 seconds under its own load (it does geo-distance calculations across 40 fulfillment centers), and during Black Friday, checkout traffic spiked to 2,200 orders/min while warehouse-allocation's throughput ceiling stayed around 400/min. The synchronous call chain meant checkout itself started timing out and returning errors to paying customers, even though the order data was perfectly valid — the bottleneck was entirely downstream. You're asked to redesign the handoff between order placement and warehouse allocation so a slow or temporarily overloaded warehouse system never causes checkout itself to fail, describing exactly what decouples them and what happens to an order if allocation fails for that specific item.
Permanent link: /situations/03-message-queue-order-pipeline