Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Scaling Uber's Real-time Market Platform

1 284 vues

Publié le

Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1Lq2ql7.

Matt Ranney explains the Uber architecture overall, with a focus on the dispatch systems, the geospatial index, handling failure, and dealing with the distributed traveling salesman problem. Filmed at qconlondon.com.

Matt Ranney is the Chief Systems Architect at Uber, where he's helping build and scale everything he can. Previously, Matt was a founder and CTO of Voxer, probably the largest and busiest deployment of Node.js.

Publié dans : Technologie
  • Soyez le premier à commenter

Scaling Uber's Real-time Market Platform

  1. 1. SCALINGUBER’S REALTIMEMARKET PLATFORM QCON LONDON 2015
  2. 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations /uber-market-platform
  3. 3. Presented at QCon London www.qconlondon.com Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide
  4. 4. partners riders dispatch post trip processing money maps / ETA services databases
  5. 5. partners riders dispatch post trip processing money maps / ETA services databases
  6. 6. partners riders dispatch post trip processing money maps / ETA services databases
  7. 7. partners riders dispatch post trip processing money maps / ETA services databases
  8. 8. partners riders dispatch post trip processing money maps / ETA services databases
  9. 9. MICROSERVICES
  10. 10. partners riders dispatch post trip processing money maps / ETA services databases
  11. 11. partners riders dispatch post trip processing money maps / ETA services databases
  12. 12. partners riders dispatch post trip processing money maps / ETA services databases
  13. 13. partners riders dispatch post trip processing money maps / ETA services databases
  14. 14. dispatch post trip processing money maps / ETA services databases
  15. 15. •1 rider, 1 vehicle •Moving people •Sharding by city •MPOF PROBLEMS
  16. 16. dispatch post trip processing money maps / ETA services databases
  17. 17. supply humans demand humans demandsupply Dispatch
  18. 18. supply humans demand humans demandsupply Dispatch
  19. 19. supply humans demand humans demandsupply Dispatch
  20. 20. supply humans demand humans demandsupply Dispatch DISCO
  21. 21. supply humans demand humans demandsupply Dispatch DISCO geo by supply geo by demandrouting / ETA
  22. 22. supply humans demand humans demandsupply Dispatch DISCO geo by supply geo by demandrouting / ETA
  23. 23. demandsupply Dispatch DISCO geo by supply geo by demandrouting / ETA
  24. 24. Source: Geometry on the Sphere: Google's S2 Library
  25. 25. Source: Geometry on the Sphere: Google's S2 Library
  26. 26. •reduce waiting •reduce extra driving •lowest overall ETAs GOALS
  27. 27. D1 Pickup request S1 best ETA +8 mins time S1 pickup after 8 mins
  28. 28. 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
  29. 29. time D1 Pickup request S2 best ETA +3 mins S2 pickup after 3 mins
  30. 30. 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
  31. 31. demandsupply Dispatch DISCO geo by supply geo by demandrouting / ETA
  32. 32. •performance •forwarding •language support •proper pipelining •checksums / tracing •encapsulation GOALS
  33. 33. AVAILABILITY •everything retryable •everything killable •crash only •small pieces
  34. 34. CULTURAL CHANGES •no pairs •kill everything •even databases
  35. 35. load balancerservice A service B
  36. 36. load balancer service A service B
  37. 37. •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
  38. 38. service A service B (1) service B (2) req 1, also B (2) +5ms req 1, also B (1) cancel req 1
  39. 39. DATACENTER FAILURE
  40. 40. partner app dispatch DC1 Location Updates State Digest dispatch DC2 Location Updates State Request
  41. 41. THANKS
  42. 42. Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations/uber- market-platform

×