Evaluation of Uber’s Design
In this lesson4 sections
Evaluation of Uber’s Design
Evaluate the ride-hailing design by tracing failures through location, assignment, trip, and payment state. Replicas and independent services help only when their recovery behavior preserves the required rules.
Requirements compliance
Let’s evaluate how the design fulfills non-functional requirements.
Availability
A dropped WebSocket connection can reconnect through a healthy server, but the client must resume from the authoritative trip version or event cursor. Replicate trip data according to the chosen database’s protocol; Cassandra’s masterless replication differs from a primary-replica SQL deployment. Test loss of a service host, a database replica, and a regional dependency. CDN caches can keep eligible static assets available, not replace the live assignment service.
Scalability
Scale location ingestion, candidate discovery, matching, and trip processing according to their different workloads. Spatial cells reduce candidate work, but a dense event area can still become hot. Measure how many index and record shards each request contacts, and size replicas and queues for bursts. Adding hosts does not fix an assignment transaction that serializes too much work on one key.
Reliability
The rest of this lesson is for Premium members
Premium opens every lesson in this course, along with all questions and solutions on PracHub.