今天這篇文章探討的是 Uber 內部的架構以及系統設計。
Uber 最初是使用 Python 作為開發語言,並且基於 monolithic 的架構來開發前後端。 2014 之後,Uber 將架構給轉移到 service-oriented 的架構。
Uber 的業務(Taxi,Eats)基本上是一種 Demand <---> Supply 邏輯的業務,以叫車服務就是如何將叫車的使用者與開車的司機給媒合。基於業務可以分類出系統需要兩個服務,分別是
Deman 服務以及 Supply 服務。
這兩個服務會串接系統內的 DISCO(Dispatch Optimization), 該服務基於 Map&Location 等資料來進行處理,但是這兩種資料搭配經緯度要處理實在麻煩,因此該服務使用 Google S2 函式庫來處理。
文章中介紹非常多 DISCO 如何處理地點相關的資料,如何有效率地幫司機跟使用者給媒合,有興趣的可以
點選原文閱讀。
除了媒合系統外,文章中還介紹了如何處理 Payment fraud 這類型的問題,全文非常長,有興趣的可以細讀
而這邊列出文章提到的各種專案
1. PostgreSQL -> MySQL (文章中有另外一篇連結探討為什麼轉移)
2. RDBMS/HDFS
3. KAFKA
https://medium.com/nerd-for-tech/uber-architecture-and-system-design-e8ac26690dfc
「map in python」的推薦目錄:
- 關於map in python 在 矽谷牛的耕田筆記 Facebook 的最佳解答
- 關於map in python 在 Python 中map(), filter(), reduce() 和zip() 函数的用法 - 小小羊 的評價
- 關於map in python 在 Python client library for Google Maps API Web Services - GitHub 的評價
- 關於map in python 在 Python's map() Function: Transforming Iterables - YouTube 的評價
- 關於map in python 在 Where to find the source code of built-in map() function in Python 的評價
map in python 在 Python client library for Google Maps API Web Services - GitHub 的推薦與評價
Description. Use Python? Want to geocode something? Looking for directions? Maybe matrices of directions? This library brings the Google Maps Platform Web ... ... <看更多>
map in python 在 Python's map() Function: Transforming Iterables - YouTube 的推薦與評價
Python's map () is a built-in function that allows you to process and transform all the items in an iterable ... ... <看更多>
map in python 在 Python 中map(), filter(), reduce() 和zip() 函数的用法 - 小小羊 的推薦與評價
map ()是Python 内置的高阶函数,它接收一个函数f() 和一个list,并通过把函数f 依次作用在list 的每个元素上,得到一个新的list 并返回。 ... <看更多>