如日中天的Uber究竟使用什么开发语言?

bwnx 9年前

如日中天的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 开发者编写了大量的优秀的服务,特别是在一些商业领域以及其他一些特别的领域上面。“