node . js 上构建的 7 款知名应用:原因及好处

原文:https://www . geesforgeks . org/7-著名-应用-节点上构建-js-原因和好处/

大约十年前(2009 年)当Ryan Dahl(NodeJS 的原始开发者)发布 NodeJS 的初始版本时,没有人能想到在短时间内 Node 会获得如此大的人气,它将成为小型到大型企业构建其应用后端服务的重中之重。今天大多数开发者都意识到了 NodeJS 的炒作和流行。它帮助许多公司构建了各种应用程序,如社交媒体应用程序、视频和文本聊天引擎、实时跟踪应用程序、在线游戏和协作工具。

7-Famous-Apps-Built-on-NodeJS-Reasons-and-Benefits

你会惊讶于你在日常生活中使用的许多应用程序都是建立在 NodeJS 上的。如果你很想知道这些应用程序的名字,那么我们想提供一个使用 NodeJS 的著名公司的列表。在此之前,让我们先简单介绍一下。

什么是 node.js

NodeJS 是一个开源的 javascript 运行时环境。早期的 javascript 只在构建客户端应用程序时有用,但是今天 Javascript 的力量已经到达了服务器端,您可以使用 Node 构建应用程序的后端服务。它是轻量级的、可扩展的、快速的,并且非常适合开发人员使用。想了解更多请阅读文章NodeJS 简介

使用节点的最大公司

1.贝宝

今天大家都很熟悉埃隆·马斯克这个名字。PayPal 由埃隆·马斯克共同创立,是目前使用的最大、最受欢迎的在线支付服务。拥有超过 2 亿用户和 100 多种货币,PayPal 在 2013 年决定将他们的应用程序从 Java 迁移到 Javascript 和 NodeJS。

为什么不叫?

贝宝的工程团队分为为浏览器编写代码的团队和为 T2 服务器编写代码的团队,这对他们来说是个大问题。所以理想的解决方案是浏览器和服务器都使用单一语言的 Javascript。根据贝宝工程总监杰夫·哈雷尔的说法,

“Node.js 通过让浏览器和服务器应用程序都用 JavaScript 编写,帮助我们解决了这个问题。它将我们的工程专业统一到一个团队中,使我们能够在技术堆栈的任何级别了解用户的需求并做出反应。”

优势:

  • 这款应用的开发速度几乎是 T1 的两倍,而 T2 的人更少
  • 随着代码行减少 33%文件减少 40%(与以前基于 Java 的应用程序相比),应用程序变得更加轻便。
  • 将每秒服务的请求数增加一倍,同时将平均响应时间减少 35%。

2.商务化人际关系网

最大的商业和就业社交平台也依赖于 NodeJS。领英在 200 多个国家和地区拥有超过 4.5 亿会员。2011 年,LinkedIn 决定将他们的移动应用后端从 Ruby on Rails 迁移到 Node.js

为什么不叫?

业绩效率和规模是该公司转向 Node.js 的主要原因。在其中一次采访中, Kiran Prasad(产品副总裁)表示……

一个原因是规模。第二,如果你看看 Node,它最擅长做的事情就是和其他服务对话。移动应用程序必须与我们的平台应用编程接口和数据库进行对话。我们没有进行大规模数据分析。与我们之前使用的 Ruby on Rails 相比,Node 向我们展示了巨大的性能提升。

收益:当 LinkedIn 迁移到 Node.js 时,还为时过早,但该组织从这一迁移中受益匪浅。

  • 他们释放了资源,将服务器数量从 30 台减少到 3 台。
  • 他们的流量翻了一番,这个应用在客户端的运行速度高达的 10 倍
  • 他们加快了开发过程:分别为前端和后端工作的团队合并为一个团队

3.网飞

我们相信这个应用程序不需要任何介绍。全球最大的视频流全球提供商,包括电影和电视剧,在 190 多个国家提供。2018 年 6 月,网飞的用户已经超过 1.3 亿(目前为 1.67 亿)。该应用程序必须处理所有请求和大约 10 亿小时的每周视频数据流。团队决定为整个用户界面选择 NodeJS。它非常有效,以至于公司也想在堆栈的其他层使用它。

为什么不叫?

网飞团队想要一个轻量级、模块化和快速的应用程序。他们想减少应用程序的启动时间。对于像网飞这样的高流量视频内容提供商,速度和加载时间是需要考虑的一个重要方面。他们的前端已经用 Javascript 编写,所以团队想要一个完美而快速的解决方案。Node 是他们的完美解决方案,开发人员已经知道 javascript,所以他们很容易在短时间内学习运行时环境。Node 也有很多模块,所以这些模块不是实现一些功能,而是帮助开发人员快速完成工作。

优势:

  • 应用的启动时间减少了 70%
  • 速度 u p 开发过程因为客户端和服务器端使用的语言单一。
  • 启用用户自定义

4.超级的

优步是不断增长的在线应用程序之一,它将出租车乘车与需要运输服务的客户联系起来。它在全球 60 多个国家和 404 个城市运营(截至 2016 年 4 月 12 日)。优步是首批将 NodeJS 投入全面生产的三家公司之一。

为什么不叫?

在过去的两年里,该公司每 6 个月左右就将规模扩大一倍。数据处理能力是该公司的主要关注点,优步需要一个速度极快且可扩展的跨平台技术解决方案,能够处理大量通知和请求。Node.js 是该公司构建其大规模匹配系统的精确解决方案。

  • NodeJs 有一个特性,它通过一个非阻塞的单线程事件循环来处理异步 I/O 请求。这个伟大的特性非常适合发出大量网络请求的分布式系统。该技术使服务能够快速可靠地处理大量信息
  • NodeJs 对于快速迭代也很优秀。提供快速错误分析和几乎即时代码部署;程序被扫描通过,新的代码很快被部署。
  • 开源社区带来的持续技术改进。

根据优步高级参谋工程师马特·兰尼的说法:

“使 Node.js 特别适合在生产环境中运行的一个原因是,您可以在不重新启动程序的情况下检查和更改程序。所以很少有其他语言提供这种能力。似乎没有多少人知道这种能力的存在,但事实上,您可以在程序运行时检查甚至更改程序,而无需重新启动它。”

优势:优步现在每秒能够处理超过200 万远程过程调用(RPC);即使面临承受高流量峰值的挑战。

5.Groupon

这家受欢迎的电子商务公司将消费者与当地商家联系起来。该公司提供打折礼物和虚拟优惠券,让买家在他们的区域尝试新的服务。Groupon 拥有近 4810 万活跃客户,在全球 28 个国家和 500 多个城市提供服务。2015 年 6 月,该公司决定将其整个网络和移动流量从 Ruby on Rails 迁移到 NodeJS。

为什么不叫?

2012 年,该公司意识到以前的技术堆栈(Ruby on Rails、Java 和 Php)已经过时,维护应用程序相当复杂。最简单的任务需要几个月的时间来实现,这成为更换的主要原因。NodeJS 为他们的问题提供了一个很好的解决方案,花了将近一年的时间来克服他们在这个过程中面临的所有问题,最终完成了过渡。阅读肖恩·麦卡洛提到的原因列表,他是 Groupon 的前高级软件工程师。简而言之,主要是…

  • 充满活力的社区
  • NPM!
  • 前端开发人员知道 JavaScript
  • 足够的性能
  • 易于扩展(流程模型)

效益:该项目成为有史以来最大的 Node.js 生产部署。石斑鱼状态…

“与旧堆栈相比,我们以更少的硬件提供同等数量的流量。团队可以独立地对他们的应用程序部署变更。我们已经能够比使用旧架构更快地进行站点范围的功能和设计更改。”

与 Ruby on Rails 页面相比,网页的速度快了约 50% ,并且能够提供更高的流量

6.GoDaddy

GoDaddy 是一家知名的域名注册和网络托管公司,成立于 1997 年。公司管理超过 7800 万个域名。最初,该网站是使用 C#和 SQL server 编写的,但后来后端被迁移到完全开源的基于 Node.js 的基础设施。

*为什么不叫?*

*GoDaddy 工程副总裁 Antonio Silveira*被问到选择 Node 而不是使用 Apache 背后的原因时,他解释道……

当您有几个并行项目时,就像我们所有人一样,您可以在同一个 Apache 服务器中托管多个站点。没什么大不了。现在,让我们更进一步:假设你有 100 个站点,每个站点有多个域。然后,事情开始变得更加复杂,您需要管理多台服务器,因为一台服务器可能无法处理所有的流量。"

*根据 GoDaddy 高级软件开发人员 Stephen Commisso*的说法,使用 Node 很容易构建高质量的应用程序,立即部署新功能,轻松编写单元和集成测试,轻松 REST。另一个关键特征是 NPM 接入。

*效益:*根据工程副总裁安东尼奥·西尔维拉的陈述…

“我们现在使用的托管客户网站的服务器数量减少了约 10 倍,我们将首次字节传输时间(TTFB) 从约 60 毫秒大幅缩短至约 12 毫秒。当我们谈论网络应用时,性能是一个关键的区别点,包括在谷歌搜索结果中的更好位置。”

应用程序现在只需要 10%的硬件就能处理相同的负载。

7.国家航空与航天局

在 Node.js 示例列表中,这难道不是一个意外的名字吗?嗯,在这个列表中读到美国宇航局的名字可能会让你感到惊讶,但是 NodeJS 已经帮助美国国家航空航天局(NASA)保护了他们宇航员的安全。将我们的物种带到太空是一项艰巨的任务,该系统有望尽可能在广阔而不友好的真空中为人们提供更多的安全保障,NodeJS 帮助拯救了宇航员的生命。

*为什么 NodeJS:*

2013 年,美国宇航局宇航员卢卡·帕尔梅塔诺发生了一起危险事件。他的宇航服开始往头盔里漏水,美国宇航局为此进行了调查。事实证明,这也不是一项简单的任务,因为当时系统的架构已经到位。美国宇航局发现它的数据分散在许多地方。这次事件后,美国宇航局决定建立自己的端到端数据系统,他们迁移到 NodeJS。美国国家航空航天局将一切都转移到云中,构建了一个 Node.js 企业级架构。他们使用网络应用编程接口来连接两个环境。

*效益:*根据 Node.js 基金会案例分析,帮助他们实现了…

“他正在创建的系统使用微服务架构,在 Node.js 中内置了独立的 API 和应用程序,将与 EVA 宇航服相关的数据从三个独立的遗留数据库移动到云数据库中。现在用户可以在一个数据库中查询所有数据,从而将访问一组完整数据的时间减少了 300%。

您准备好在节点上构建应用程序了吗?

以上主要示例是否足以启发您为下一个应用程序选择 Node? 就像上面提到的例子一样,你目前的项目技术堆栈面临很多问题吗? 那为什么不为你的项目选择 Node 呢…

这只是我们讨论过的 7 个应用程序。其他几大巨头包括沃尔玛、雅虎、易贝、Mozilla、Medium、Trello、花旗银行。现在你不能否认,Node 正在不断成为多家公司的首选技术。NodeJS 特性允许开发人员在各种项目中使用它。它快速、简单、高性能且可扩展,为许多项目提供了一个很好的解决方案。大多数开发人员都在开发 javascript,如果你懂 Javascript,那么学习 Node 对你来说就是小菜一碟,这也是学习 Node 最好的地方。您不必花费精力学习任何其他服务器端语言。