如日中天的Uber究竟使用什么開發語言?
Uber 將正在蓬勃發展的 Go 和 Node.js 這兩個語言很好的融合到其系統上面來。Uber 的網站可靠性工程師 Tom Croucher 在最近于波蘭舉行的 Node.js 互動大會上詳盡的對該公司所用的語言平臺進行了闡述。
Uber 的任務分派系統是運行在 Node 上,這是一個運行在服務器端的 JavaScript 平臺。當一個客戶打開 app 或者網站來進行車輛預定或者調用其他的 API 來查看可用車輛信息的時候,大部分的這些服務都是通過運行在 Node 上面的平臺來提供的,Croucher 說道。
“這里大部分的工作都是由 Node 來完成的,我們從公司成立的第一年就開始使用 Node,非常的早,“ Croucher 繼續說道。同時他也強調說 Uber 是 Node 的第一批采用者之一,同時也是第一批“真正基于 Node 打造出一門大生意“的企業之一。
但 Node.js 并非 Uber 唯一使用的語言。谷歌的 Go 語言在 Uber 中也占有一席之地。“我們此前已經開始使用 Go 來完成一些任務,其中涉及的一部分是對性能有相當高的需求的。我們一開始是用打算 Node 來進行編寫的,但為了讓系統獲得更優的性能,我們現在開始使用 Go 來對這些特殊的部分進行重寫。“
同時,Uber 當前使用的是比較老的 Node 0.10 版本,因為它需要看到“新版本能帶來明顯的效益”才會進行升級。“Node.js 基金會經理 Mikeal Rogers 則要求用戶們將 Node.js 升級到版本4.“
除了貼近潮流的 Node.js 和 Go 之外,Python 也是 Uber 所青睞的語言之一。“我發現 Python 其實也是 Uber 所采用的幾個技術之一就是,“Croucher 繼續說道。”對于我們來說,可以在不同的人才池中進行選擇是非常有幫助的,所以我們的很多系統也是使用 Python 來編寫的。我們發現有大量的 Python 開發者編寫了大量的優秀的服務,特別是在一些商業領域以及其他一些特別的領域上面。“