探索Node.js在顶尖企业中的应用情况

发表时间: 2020-03-20 20:31

node.js轻便精悍,实际应用中有企业使用node.js来主打自己的业务吗?

国内的巨头阿里巴巴

在自己的中台就大量使用了node.js。先看一下阿里最近的node.js工程师招聘信息。


阿里node.js招聘

阿里的上海,杭州都需要,不光是阿里集团,还包括下面的蚂蚁金服。那么node.js工程师在阿里内部从事什么样的工作呢?


职位描述

而从职位描述来看,跟大型分布式应用相关。从这里来看,node.js应该是能够胜任大型后端应用的。据了解,目前阿里内部对node.js有相当牢固的基础能力体系。


  • Midway 框架:作为集团最早的 Node.js Web 框架,在 6 版本后已经也渐渐走向了工业强度,从 TypeScript 到 IoC 。
  • Sandbox/Alinode 融合:两者都是集团老牌的 Node.js 应用治理、监控、Profiling 平台,将会强强合并来支撑未来日益庞大的 Node.js 体系。
  • Node.js 混沌工程
  • Node.js 中间件体系:Node.js 几千的应用,几百的云函数。无一不需要调用其他系统,而中间件能力就是其根本。集团云原生架构的调整中,中间件体系也会发生巨大的变化。在这里说一下,腾讯的微信小程序也是使用Node.js来实现云函数。若干的微信小程序每天在腾讯云上运行着若干的云函数,可见Node.js还是堪当大任的。

除了这些基础能力体系外,阿里的node.js serverless与前端研发模式也升级了。提出了云端一体研发框架,将node.js云函数和前端框架融合在一起。

国外也有很多巨头将自己的应用假设在node.js上。

Paypal 贝宝


paypal

Paypal的服务必须应对全球超过 2 亿多个活动帐户。Paypal最初的问题是分散的团队,不同的语言分别为前端和服务器应用程序进行开发。在PayPal采用 Node.js后,开发人员使用统一的语言JavaScript。

根据Paypal的声明,他们的 Node.js 应用程序编程速度提高 2 倍,而代码量减少了 33%。

Netflix 网飞


Netflix

作为全球最大的视频内容和流媒体服务,Netflix也选择了Node.js。使用Node.js,Netflix减少了项目构建时间并启用了用户自定义。

此外,从性能上来看,Node.js使应用程序的加载时间提高了70%。Node.js的应用还涉及到了数据库访问层和脚本。

Uber


Uber

Uber也许是最好的Node.js应用程序示例之一。在过去的两年里,公司的规模每6个月左右就翻一番。显然,Node.js的数据处理能力是一个成功的解决方案。

另一个因素是,随着对移动出租车服务需求的不断增长,出租车的规模也在不断扩大。Uber需要一个对客户和司机都可靠的系统。为什么他们通常选择Node.js?Uber陈述了Node.js项目的三个主要原因:

  • 它快速可靠地处理大量数据
  • 方便的错误分析和快速的代码部署
  • 开源社区带来的持续技术改进

为了证明Node.js应用程序的成功,Uber现在每秒能够处理超过200万个远程过程调用(RPC)。

LinkedIn 领英


LinkedIn

作为商业社交系统,LinkedIn拥有超过4.5亿的会员。

LinkedIn移动应用的整个后端都是建立在Node.js上。主要基于性能效率和规模这两个原因。自从迁移到Node.js,LinkedIn的移动应用整体快了2倍以上,而后端服务器的需求量跟之前相比却有所降低。

ebay


ebay

对于Ebay这种量级的公司必须采用成熟的技术。Ebay的技术优势和部署原则主要在于一次构建,到处部署,其余的自动化。Ebay从一个项目开始,现在他们正在向Node全栈过渡,并成为Node.js应用程序的最佳示例之一。

Walmart 沃尔玛


Walmart Node.js

作为传统零售企业,沃尔玛也同样进入电商领域。

沃尔玛使用Node为应用程序创建新的api,并在数小时内进行部署。结果,发布时间大大缩短

Walmart使用的技术栈还包括:

  • 智能操作系统
  • HAPI(沃尔玛的开源框架)
  • 插件
  • 专用NPM包

NASA 美国航空宇航局


NASA

在一次太空危险事件后,美国宇航局发现其数据保存在许多不同的地方。这导致NASA决定建立自己的端到端数据系统,使用Node.js。

NASA把所有的应用迁移到了云上,并构建了Node.js企业级架构。通过Node.js使用web API连接数据,是访问次数较之前有大幅度降低。