Design a real-time ride-matching system handling millions of active drivers and surges of 100k+ requests from the same location.
Clarify constraints, identify core vs. nice-to-have features, establish success metrics.
Define API surface, core entities, schemas, indexing, access patterns.
Map request flows to components; identify services, data stores, and request paths; establish failure domains.
Detail data models, partitioning strategy, replication, consistency guarantees, indexing.
Identify bottlenecks, add caching, queues, rate limiting; define SLOs/SLAs and backpressure mechanisms.
Specify concrete technologies; checklist of required vs. optional components; justify trade-offs.
Capacity estimates, sharding strategy, multi-region design, DR, observability, cost levers.