scaling uber's real-time market platform
TRANSCRIPT
![Page 1: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/1.jpg)
SCALING UBER’S REALTIME MARKET PLATFORMQCON LONDON 2015
![Page 2: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/2.jpg)
![Page 3: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/3.jpg)
![Page 4: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/4.jpg)
![Page 5: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/5.jpg)
![Page 6: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/6.jpg)
![Page 7: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/7.jpg)
![Page 8: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/8.jpg)
![Page 9: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/9.jpg)
![Page 10: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/10.jpg)
![Page 11: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/11.jpg)
![Page 12: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/12.jpg)
![Page 13: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/13.jpg)
![Page 14: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/14.jpg)
![Page 15: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/15.jpg)
partners riders
dispatch
post trip processing
money
maps / ETA services
databases
![Page 16: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/16.jpg)
partners riders
dispatch
post trip processing
money
maps / ETA services
databases
![Page 17: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/17.jpg)
partners riders
dispatch
post trip processing
money
maps / ETA services
databases
![Page 18: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/18.jpg)
partners riders
dispatch
post trip processing
money
maps / ETA services
databases
![Page 19: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/19.jpg)
partners riders
dispatch
post trip processing
money
maps / ETA services
databases
![Page 20: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/20.jpg)
MICROSERVICES
![Page 21: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/21.jpg)
partners riders
dispatch
post trip processing
money
maps / ETA services
databases
![Page 22: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/22.jpg)
partners riders
dispatch
post trip processing
money
maps / ETA services
databases
![Page 23: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/23.jpg)
partners riders
dispatch
post trip processing
money
maps / ETA services
databases
![Page 24: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/24.jpg)
partners riders
dispatch
post trip processing
money
maps / ETA services
databases
![Page 25: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/25.jpg)
dispatch
post trip processing
money
maps / ETA services
databases
![Page 26: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/26.jpg)
![Page 27: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/27.jpg)
•1 rider, 1 vehicle
•Moving people
•Sharding by city
•MPOF
PROBLEMS
![Page 28: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/28.jpg)
dispatch
post trip processing
money
maps / ETA services
databases
![Page 29: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/29.jpg)
supply humans
demand humans
demandsupply
Dispatch
![Page 30: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/30.jpg)
supply humans
demand humans
demandsupply
Dispatch
![Page 31: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/31.jpg)
supply humans
demand humans
demandsupply
Dispatch
![Page 32: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/32.jpg)
supply humans
demand humans
demandsupply
Dispatch
DISCO
![Page 33: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/33.jpg)
supply humans
demand humans
demandsupply
Dispatch
DISCO
geo by supply geo by demandrouting / ETA
![Page 34: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/34.jpg)
supply humans
demand humans
demandsupply
Dispatch
DISCO
geo by supply geo by demandrouting / ETA
![Page 35: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/35.jpg)
demandsupply
Dispatch
DISCO
geo by supply geo by demandrouting / ETA
![Page 36: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/36.jpg)
Source: Geometry on the Sphere: Google's S2 Library
![Page 37: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/37.jpg)
Source: Geometry on the Sphere: Google's S2 Library
![Page 38: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/38.jpg)
![Page 39: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/39.jpg)
![Page 40: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/40.jpg)
![Page 41: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/41.jpg)
![Page 42: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/42.jpg)
•reduce waiting
•reduce extra driving
•lowest overall ETAs
GOALS
![Page 43: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/43.jpg)
D1 Pickup request S1 best ETA +8 mins
time
S1 pickup after 8 mins
![Page 44: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/44.jpg)
time
S2 drop off +2 mins S2 ETA from drop off +1 min
D1 Pickup request S1 best ETA +8 mins
S1 pickup after 8 mins
![Page 45: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/45.jpg)
time
D1 Pickup request S2 best ETA +3 mins
S2 pickup after 3 mins
![Page 46: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/46.jpg)
time
S2 pickup D2
D1 Pickup request S2 best ETA +3 mins
D2 Pickup request S2 best ETA +1 mins
S2 pickup D1
S2 drop off D1
S2 drop off D2
![Page 47: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/47.jpg)
demandsupply
Dispatch
DISCO
geo by supply geo by demandrouting / ETA
![Page 48: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/48.jpg)
![Page 49: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/49.jpg)
![Page 50: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/50.jpg)
![Page 51: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/51.jpg)
![Page 52: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/52.jpg)
•performance
•forwarding
•language support
•proper pipelining
•checksums / tracing
•encapsulation
GOALS
![Page 53: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/53.jpg)
![Page 54: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/54.jpg)
AVAILABILITY
•everything retryable
•everything killable
•crash only
•small pieces
![Page 55: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/55.jpg)
CULTURAL CHANGES
•no pairs
•kill everything
•even databases
![Page 56: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/56.jpg)
load balancerservice A service B
![Page 57: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/57.jpg)
load balancer
service A
service B
![Page 58: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/58.jpg)
![Page 59: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/59.jpg)
![Page 60: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/60.jpg)
•overall latency ≥ latency of slowest component
•1ms avg, 1000ms p99
•use 1: 1% at least 1000ms
•use 100: 63% at least 1000ms
•1.0 - 0.99^100 = 0.634 = 63.4%
LATENCY
![Page 61: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/61.jpg)
service A service B (1)
service B (2)
req 1, also B (2)
+5ms req 1, also B (1)
cancel req 1
![Page 62: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/62.jpg)
DATACENTER FAILURE
![Page 63: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/63.jpg)
partner app dispatch DC1Location Updates
State Digest
dispatch DC2
Location UpdatesState Request
![Page 64: Scaling Uber's Real-time Market Platform](https://reader030.vdocument.in/reader030/viewer/2022020208/55c51dfebb61ebb17d8b45a5/html5/thumbnails/64.jpg)
THANKS