Challenge 2: An order service that survives failures
The order-status service keeps orders in a relational database and takes 5,000 requests a second, 80% reads, each about one customer's orders (so a CDN cannot cache them). It must keep working when any one instance fails: a load balancer, an app server, a cache node or a database copy. Losing one may not drop a request or push p99 over 250 ms. Availability at least 99.99%, budget 1,800 USD a month.
Traffic demand5,000 RPS80% reads, 20% writes
p99 latency target≤ 250 msSlowest 1% of requests
Availability≥ 99.99%N-1 failure survival (0 drops)
Monthly cloud budget≤ 1,800 USDA month, everything included