Multi-outlet ordering system design 1 question in 2 chapters
Orders, outlet ownership and inventory
1.1 How would you design ordering across multiple restaurant outlets? Hard 7 min
I choose an outlet before accepting an order, because price, availability and kitchen capacity belong to that outlet. I reserve its stock with a guarded database update, not a read followed by a write. Order creation and reservation commit together when they share a database. Payment runs outside that transaction, with retries and compensation. I scale stateless request handling separately from kitchens and watch hot outlets before adding more application instances.
Read the full answer
Sources
Source: PostgreSQL 18: Transaction isolation Source: PostgreSQL 18: Explicit locking Source: Transactional outbox Source: Kubernetes: HPA