99.94%
Availability
SLO 99.9% · met
Architecture review
Current state, the bottleneck we found, three options and the change we propose.
Where we stand
Last 90 days, production.
99.94%
Availability
SLO 99.9% · met
420 ms
p95 checkout latency
Budget 500 ms
2.1×
Peak traffic expected
Black Friday forecast
31
Deploys per week
From 18 last year
Source: monitoring dashboards, 90-day export
How an order flows
Each hop adds latency and a failure mode.
Authenticates and validates the order.
Owner: edge team
Prices and reserves stock in one call to the inventory database.
Owner: order team
Books the carrier and sends the confirmation.
Owner: logistics team
Failures retry synchronously from the gateway
The takeawayThe order service waits on the inventory database for every order.
Latency budget
p95 per hop at today's peak, in ms.
| Inventory lock | 210 ms | +160 Added at 2.1× traffic |
|---|---|---|
| Pricing | 85 ms | +40 Added at 2.1× traffic |
| Gateway | 60 ms | +10 Added at 2.1× traffic |
| Carrier booking | 45 ms | +15 Added at 2.1× traffic |
| Confirmation | 20 ms |
Added at 2.1× trafficSource: load test LT-48, 2.1× replay
Options
Scored with the order and data teams.
| Option | Peak latency | Effort | Risk | Run cost |
|---|---|---|---|---|
| Scale the database | Weak | Low | Low | High |
| Async reservation | Good | Medium | Medium | Low |
| Split the inventory | Good | High | High | Medium |
RecommendationMove the stock reservation to an event, confirm the order first and compensate the rare failures.
ADR-021
Proposed · for approval today
At 2.1× traffic the synchronous inventory lock pushes p95 latency to 560 ms, above the 500 ms budget.
Publish an order-accepted event and reserve stock asynchronously; cancel and notify when stock is gone.
Risks
Reviewed with service owners.
| Risk | Impact | Likelihood | Owner | Mitigation |
|---|---|---|---|---|
| Oversold stock during flash sales | High | Medium | Order team | Hold a 2% safety stock on promoted items. |
| Event backlog at peak | Medium | Medium | Platform team | Autoscale consumers; alert on lag over 30 s. |
| Customers confused by late cancellations | Medium | Low | Customer care | Clear email and an instant refund. |
Before we build
Decision needed today.
| Done | Owner | Due | |
|---|---|---|---|
| Approve ADR-021 and the compensation flow | Architecture board | Today | |
| Agree the 0.2% late-cancellation budget | Product owner | 10 Oct | |
| Load test at 2.5× before the code freeze | Platform team | 31 Oct | |
| Update the runbook and on-call training | SRE lead | 7 Nov |