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.