SCALING UBERS REALTIME MARKET PLATFORM QCON LONDON 2015 partners - - PowerPoint PPT Presentation

scaling uber s realtime market platform
SMART_READER_LITE
LIVE PREVIEW

SCALING UBERS REALTIME MARKET PLATFORM QCON LONDON 2015 partners - - PowerPoint PPT Presentation

SCALING UBERS REALTIME MARKET PLATFORM QCON LONDON 2015 partners riders dispatch post trip maps / ETA services processing databases money partners riders dispatch post trip maps / ETA services processing databases money


slide-1
SLIDE 1

SCALING UBER’S REALTIME MARKET PLATFORM

QCON LONDON 2015

slide-2
SLIDE 2
slide-3
SLIDE 3
slide-4
SLIDE 4
slide-5
SLIDE 5
slide-6
SLIDE 6
slide-7
SLIDE 7
slide-8
SLIDE 8
slide-9
SLIDE 9
slide-10
SLIDE 10
slide-11
SLIDE 11
slide-12
SLIDE 12
slide-13
SLIDE 13
slide-14
SLIDE 14
slide-15
SLIDE 15

partners riders dispatch post trip processing money maps / ETA services databases

slide-16
SLIDE 16

partners riders dispatch post trip processing money maps / ETA services databases

slide-17
SLIDE 17

partners riders dispatch post trip processing money maps / ETA services databases

slide-18
SLIDE 18

partners riders dispatch post trip processing money maps / ETA services databases

slide-19
SLIDE 19

partners riders dispatch post trip processing money maps / ETA services databases

slide-20
SLIDE 20

MICROSERVICES

slide-21
SLIDE 21

partners riders dispatch post trip processing money maps / ETA services databases

slide-22
SLIDE 22

partners riders dispatch post trip processing money maps / ETA services databases

slide-23
SLIDE 23

partners riders dispatch post trip processing money maps / ETA services databases

slide-24
SLIDE 24

partners riders dispatch post trip processing money maps / ETA services databases

slide-25
SLIDE 25

dispatch post trip processing money maps / ETA services databases

slide-26
SLIDE 26
slide-27
SLIDE 27
  • 1 rider, 1 vehicle
  • Moving people
  • Sharding by city
  • MPOF

PROBLEMS

slide-28
SLIDE 28

dispatch post trip processing money maps / ETA services databases

slide-29
SLIDE 29

supply humans demand humans demand supply Dispatch

slide-30
SLIDE 30

supply humans demand humans demand supply Dispatch

slide-31
SLIDE 31

supply humans demand humans demand supply Dispatch

slide-32
SLIDE 32

supply humans demand humans demand supply Dispatch DISCO

slide-33
SLIDE 33

supply humans demand humans demand supply Dispatch DISCO geo by supply geo by demand routing / ETA

slide-34
SLIDE 34

supply humans demand humans demand supply Dispatch DISCO geo by supply geo by demand routing / ETA

slide-35
SLIDE 35

demand supply Dispatch DISCO geo by supply geo by demand routing / ETA

slide-36
SLIDE 36

Source: Geometry on the Sphere: Google's S2 Library

slide-37
SLIDE 37

Source: Geometry on the Sphere: Google's S2 Library

slide-38
SLIDE 38
slide-39
SLIDE 39
slide-40
SLIDE 40
slide-41
SLIDE 41
slide-42
SLIDE 42
  • reduce waiting
  • reduce extra driving
  • lowest overall ETAs

GOALS

slide-43
SLIDE 43

D1 Pickup request S1 best ETA +8 mins time S1 pickup after 8 mins

slide-44
SLIDE 44

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

slide-45
SLIDE 45

time D1 Pickup request S2 best ETA +3 mins S2 pickup after 3 mins

slide-46
SLIDE 46

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

slide-47
SLIDE 47

demand supply Dispatch DISCO geo by supply geo by demand routing / ETA

slide-48
SLIDE 48
slide-49
SLIDE 49
slide-50
SLIDE 50
slide-51
SLIDE 51
slide-52
SLIDE 52
  • performance
  • forwarding
  • language support
  • proper pipelining
  • checksums / tracing
  • encapsulation

GOALS

slide-53
SLIDE 53
slide-54
SLIDE 54

AVAILABILITY

  • everything retryable
  • everything killable
  • crash only
  • small pieces
slide-55
SLIDE 55

CULTURAL CHANGES

  • no pairs
  • kill everything
  • even databases
slide-56
SLIDE 56

load balancer service A service B

slide-57
SLIDE 57

load balancer service A service B

slide-58
SLIDE 58
slide-59
SLIDE 59
slide-60
SLIDE 60
  • 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

slide-61
SLIDE 61

service A service B (1) service B (2) req 1, also B (2) +5ms req 1, also B (1) cancel req 1

slide-62
SLIDE 62

DATACENTER FAILURE

slide-63
SLIDE 63

partner app dispatch DC1 Location Updates State Digest dispatch DC2 Location Updates S t a t e R e q u e s t

slide-64
SLIDE 64

THANKS