微软、IBM、思科、Netflix、PayPal……这些只是少数几家在产品中使用Node.js软件的顶尖公司。自2009年首次发布以来,JavaScript环境越来越受欢迎。为什么呢?这是因为Node.js使用起来非常容易。此外,Node.js还允许前端开发者在服务器端构建和执行代码。这带来更快的开发周期。那么都有谁在使用Node.js呢?他们又为什么使用Node.js呢?接下来,小编将先给您分享一些有关Node.js的相关信息,之后为您呈上收集到的好的Node.js应用程序案例和其背后的原因。
首先,我们先来了解下什么是Node.js
简而言之,Node.js是一个运行时环境。它实际上是一个用于构建网络应用程序的开源JavaScript(即JS的含义)。它允许Node.js开发者在服务器端执行代码。这意味着,在自己的电脑上或者直接在浏览器中执行代码。因此,Node.js具备轻量级、可伸缩性以及快速编写脚本代码的特性。
现在,Node.js已经成为所谓JavaScript范例的一个很好的组成部分。Node.js允许并统一应用程序开发,消除了对不同语言的需求。Node.js主要用于实时创建web应用程序。不过,由于整个Node.js生态系统,特别是它的包管理器——NPM,开发移动应用程序也是可能的。
使用Node.js的同时,您还可以使用其他语言编写的代码或脚本。关于Node.js的应用案例,接下来将为您分享几个使用Node.js的最具有说服力的项目和公司。
应用案例1:PayPal和Node.js
您将在基于Node.js构建的应用程序列表中找到PayPal。这项服务必须处理全球超过2亿个活跃用户账户,并且它处理的非常完美。PayPal最初的问题是需要不同的团队分别为前端浏览器和后端服务器的应用程序执行任务。在采用了Node.js之后,开发者只需要使用一种单一的编程语言——JavaScript。
根据该公司的声明,他们基于Node.js构建的应用程序的编写速度是之前的2倍,它所包含的代码较之前减少了33%。数以百万计的人依托PayPal进行支付,这正是Node.js高性能应用案例的真实展示。
应用案例2:Netflix和Node.js
作为全球最大的视频内容和流媒体服务,Netflix对Node.js的选择意义重大。它也是最有趣的Node.js应用示例之一。因为视频提供商的目标是专门为用户提供优质界面。使用Node.js项目,它们减少了构建时间,还提供了用户个性化定制功能。
此外,Netflix还赢得了性能之战。该公司报告称,它将应用程序的加载时间提高了70%。事实证明,Node.js运行环境在Netflix应用上非常有效,甚至可以将数据访问层迁移到Node.js上。它们还打算将脚本编写为Node应用程序。考虑到监控效果,Netflix开发者使用TTI度量-时间来进行实时交互。这是应用启动和用户交互之间的时间。
应用案例3:Uber和Node.js
Uber可以说是最好的Node.js应用案例之一。值得注意的是,一个使用Node.js构建的移动应用,它还会影响制作像Uber这样的应用的成本。在过去的两年里,该公司规模每隔6个月左右就会翻一番。显然,Node.js的数据处理能力是一个成功的解决方案。
另一个因素是,随着对移动出租车服务需求的不断增长,出租车的规模也在不断扩大。Uber需要一个对客户和司机都安全可靠的系统。那么,Uber为什么一般选择Node.js和JavaScript呢?Uber声明了三个主要原因:
1.Node.js可以快速可靠地处理大量数据;
2.方便的错误分析和快速的代码部署;
3.开源社区带来的持续技术改进。
Uber现在可以每1秒处理超过200万个远程过程调用(RPC),即使是在高峰时期,这证明了其基于Node.js构建的应用程序的成功。这太令人印象深刻了。
应用案例4:LinkedIn和Node.js
作为商业网络系统,LinkedIn拥有超过4.5亿会员。2016年,LinkedIn这项服务以260亿美元的价格卖给了微软。没错,260亿美元。LinkedIn移动应用后端就是基于Node.js构建的。
LinkedIn转为使用Node.js的两个主要原因是因为Node.js的性能效率和可伸缩性。他们对基于Node.js上的LinkedIn应用程序所表现的结果非常满意:
1.资源方面:服务器由原来的15台减少为4台;
2.传输容量翻倍;
3.APP在客户端的运行速度提高了2-10倍。
LinkedIn的移动开发负责人LinkedIn说:“在服务端,我们的整个移动软件栈完全构建在Node中。”
应用案例5:Ebay和Node.js
基于Ebay背后的巨大流量,他们必须采用成熟的技术。作为JavaScript技术栈的一部分,Node.js非常适合Ebay这个电子商务巨头。经过公司内部艰难的讨论,Ebay工程师最终选择了Node。其决定因素主要是他们需要让Ebay这个应用程序尽可能实时。
Node.js上拥有1.7亿活跃用户的Ebay应用程序显示了其保持服务器实时连接的高效性能。Ebay的技术优势和部署原则在于以下几点:一次构建,随时随地部署,其余部分自动化。Ebay从一个项目开始采用Node.js,现在他们正在向Node的全功能栈过渡。
应用案例6:沃尔玛和Node.js
在大型零售企业中,沃尔玛支持进军线上电子商务。在与内存泄露斗争了6个月后,后端工程师选择了JavaScript服务,特别是Node.js。它之所以成为最好的Node.js应用案例之一,是因为现在沃尔玛从客户端获取了更准确的结果。
沃尔玛使用Node作为遗留API的编排层。他们现在可以为沃尔玛应用程序创建新的API,并且在数小时内部署它。因此,开发部署时间显著减少。目前,该公司基于Node.js使用的技术栈包括以下四个:
3.插件(特定于环境)
4.专用NPM包
应用案例7:Medium和Node.js项目
Medium是一个广泛流行的发布平台,其应用服务器使用Node.js构建,并附带Nginx。他们还使用Matador作为Node环境的干净框架。
Medium每月有2500万读者,每周发表数千篇文章。使用面向服务的后端结构,Node.js允许在客户端和服务器端之间共享媒体代码。通过使用Node,加快了他们开发部署的时间,最多15分钟即可完成部署。虽然主应用服务器通常每天部署5次,但其容量能够部署达到10次。
应用案例8:NASA和Node.js
“Node.js助力NASA保护宇航员的安全。”虽然这并不完全是一个应用程序,但是航天局的Node.js项目展示了JS技术的强大功能。在一次危险的太空事件之后,NASA发现他们的数据散布在许多地方。他们决定构建自己的端到端数据系统,并使用Node.js。
NASA将所有的内容都转移到云中,并构建了Node.js企业级架构。他们使用web API来链接两个环境。带来了以下两个好处:
1.一个统一的数据库;
2.访问时间减少300%。
在现实生活中,这些数字意味着宇航员在太空中生活和工作的环境更加安全。这样的结果是令人惊叹的!
应用案例9:Mozilla和Node.js
在这里,我们不将Mozilla作为世界上前三受欢迎的web浏览器来进行讨论,我们主要将它作为最好的Node.js应用案例之一来分享。因为Mozilla在许多的web应用程序中都使用Node。例如,Mozilla Persona或BrowserID。虽然Mozilla这些项目已经结束,但它选择Node.js并不是没有原因的。
两个主要原因是Node.js内存能够支持大约100万用户、相同语言的JavaScript家族。Mozilla团队在一个JS存储库中可以轻松获得所有可用的东西。因此,所有的团队都能够快速高效地工作。现在,Mozilla团队将Node.js用于跨平台页面和Express等Web框架。
应用案例10:Trello和Node.js
作为最好的项目管理工具之一,Trello于2011年开始全面使用JavaScript。Trello开发人员使用Node.js构建了服务器部件。选择Node.js的原因是其需要大量的开放连接支持。
除此之外,Trello还使用Node.js进行一些原型设计。他们先是在一个单页应用程序上尝试,最后又在一个模拟服务器上尝试。通过这样的安排,工程师们能够快速尝试并调整设计。Trello服务器端还使用MongoDB、HAProxy(用于负载平衡)和Redis完成数据共享。
应用案例11:GoDaddy和Node.js
GoDaddy是一家上市的互联网域名注册和网络托管公司。截至2016年1月,GoDaddy拥有超过1300万客户和6100万个管理域名,是全球最大的注册商。近年来,该公司已将其整个后端改造为基于开源Node.js的基础设施。
那他们为什么选择node.js呢? GoDaddy高级软件开发工程师Stephen Commisso表示,Node可以轻松构建高质量的应用程序,立即部署新功能,轻松编写单元和集成测试。另一个关键功能是NPM访问。另外,GoDaddy技术部的副总Antonio Silveira说:“我们现在使用的用来托管我们的客户网站的服务器减少了大约10倍。我们把第一字节时间(TTFB)从大约60毫秒大大缩短到大约12毫秒。当我们谈到web应用程序时,性能是一个关键的区别,包括在谷歌的搜索结果中占据更好的位置。”
GoDaddy现在只需要10%的硬件就可以处理相同的负载。
应用案例12:Groupon和Node.js
Groupon是一个全球性的电子商务市场,它通过提供特价的活动、旅行、商品和服务,将用户与当地商家联系起来。截至2015年3月底,Groupon在全球28个国家的500多个城市开展业务,拥有近4810万活跃客户,全球交易量超过42.5万笔。2015年6月,该公司报告完成了从Ruby on Rails应用程序到新的Node.js堆栈的整个Groupon Web和移动流量迁移工作。
那他们又是为什么选择node.js呢?Groupon前任的企业级Node.js开发人员Sean McCullough列出了一些原因,比如活跃的社区,NPM,性能和易扩展性。
与早期的Ruby on Rails平台相比,网页加载速度提高了约50%,并且能够提供更高的流量。Groupon声明:
“我们提供的流量与以前相同,但硬件却比以前少了。团队能够独立地将更改部署到他们的应用程序中。我们能够在整个站点范围内进行功能和设计更改,这比我们使用就体系结构的速度要快得多。
未经同意,本文禁止转载或摘编。