Ride-hailing match
Geo matching under churn: freshness, leases, and fairness under load.
Ride-hailing match
Business constraint
Match riders to nearby drivers quickly. Locations churn. Double-assign is unacceptable.
Naive v0
Global scan of all drivers each request. Or assign without a claim lease.
Failure drill
CPU melts. Two riders get the same driver. Stale locations send cars the wrong way.
Evolution path
Iteration 1
Geo hash / grid indexes; bound search radius and candidate set size.
Iteration 2
Claim driver with lease + fencing; short TTL for offer acceptance.
Iteration 3
Hot-cell tactics when stadiums empty out: subdivide grids, shed noncritical updates.
Implementation cut
Freshness SLO on location. Atomic claim. Chaos duplicate-assign tests.
Numbers
Match p95. Double-assign = 0. Location age at match time. Hot-cell QPS ratio.
Pattern tags
Self-check
- Why bound candidate sets?
- What does a claim lease prevent?
- How do stale locations hurt?
- What is a hot cell?
- Which metric catches double-assign?
Walkthrough
Recordings will appear here when published. Until then, work the failure drill and lab locally — pause after each iteration and write the metric that moved.