Systems · Week 6

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

  1. Why bound candidate sets?
  2. What does a claim lease prevent?
  3. How do stale locations hurt?
  4. What is a hot cell?
  5. 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.