挑选Node.js做为服务器端运作自然环境的优点分析

2021-02-22 07:09 admin

Groupon从Ruby on Rails转移至Node.js

为何要舍弃原来技术性栈?

Groupon现阶段在全世界共有两套站点——美国网站和欧洲网站,其美国网站前端开发最开始是1个单1的Rails(最时兴的Ruby开发设计架构)编码库。针对为何会挑选Rails来开发设计最开始的网站,Groupon开发设计人员表明,Rails十分合适小型精英团队迅速开发设计,可让网站迅速起动并运作起来,这针对前期作用持续转变的Groupon来讲,是个十分非常好的挑选。

伴随着Groupon的发展趋势和新商品持续推出,这个编码库愈来愈大,有太多的开发设计者在同1个编码库工作中,她们很难在当地运作并检测商品,假如有难题必须回退,那末每一个人的工作中都功亏一篑了。

Groupon精英团队决策将原来的单1Rails库切分成小的、单独的、更容易于管理方法的库。

为何挑选Node.js?

Groupon精英团队评定了不一样的手机软件栈,想找寻1个可以处理这些难题的计划方案——合理解决很多传入的HTTP恳求、使并行处理API恳求服务于每个HTTP恳求、将結果3D渲染为HTML5,并能够合理完成监管、布署和适用。

该精英团队应用不一样的手机软件栈开发设计了原形,并检测了它们,整体来讲,发现Node.js是个十分合适的处理计划方案。

怎样转移?

Groupon精英团队应用Node.js复建了网站网页页面的每一个关键一部分,将它们做为1个单独的Node.js运用程序流程,随后复建了基本设备,使全部单独的运用程序流程能够1起工作中。转移以后,Groupon变成了全世界最大的Node.js布署商品之1。

转移带来的益处

以前单独Rails前端开发编码库被切分变成20个单独的运用程序流程,其带来了以下的益处:网页页面载入更快——快了50%与以前相比,解决同样的总流量所应用的硬件配置資源更少精英团队能够单独地变更、布署各有负责的控制模块网站作用和设计方案完成能够迅速迭代更新
更详尽的信息内容可参考 Groupon开发设计精英团队的blog。


挑选Nodejs的N个理由
Caleb Madrigal是来自美国密尔沃基市的1名手机软件咨询顾问。4年前,他在听闻“将JavaScript用作服务器端語言”这样的说法时,觉得那是1个荒诞的念头。有那末多服务器端語言可供挑选,为何要选JavaScript?这是他那时候的念头。但如今,他在当今的新项目选中用了JavaScript/Node.js。他近日撰文对自身的这1变化开展掌握释。

最先,很多顶级公司都应用了Node.js,而且实际效果十分好,在其中包含PayPal、Walmart、Ebay、Groupon和LinkedIn。这些公司在生产制造自然环境广州中山大学量应用了Node.js。Madrigal举了PayPal的事例。PayPal对于她们网站上在其中1个总流量最大的运用,比照了它的Node.js版本号和Java版本号,发现前者在好几个层面优于后者,并最后决策由Java切换到JavaScript。InfoQ对此有过报导。

其次,Node.js有1个很棒的检修口理系统软件NPM。根据运作“npm install 包名”基本上能够安裝任何包/库。此外,根据package.json文档能够追踪依靠关联。因而,Node.js库很非常容易克隆,运作“npm install”能够安裝全部的依靠关联。

再度,Node.js小区出现异常活跃,一直有新的库造成。这些库十分功能强大,使JavaScript变成1个十分高效率的服务平台。

随后是Node.js 的REPL(read-evaluate-print loop)指令行。开发设计人员只必须在终端设备中键入“node”,便可以对Node.js开展逐行检测。

最终,Node.js有1个很关键的特点:非堵塞涵数。这便是为何大家会在Node.js的编码中看到很多的callbacks和promises。这类设计方案方式给Node.js带来了十分优良的特性。

另外,Node.js的最大1个优势是:它是JavaScript。任何人都了解JavaScript,因此应用Node.js不必须学习培训1门新語言。有了它,开发设计人员能够只应用1种語言,访问器端用JavaScript,服务器端用Node.js。在应用像MongoDB和CouchDB这样储存JSON目标的文本文档数据信息库时,这会巨大地简化数据信息库和客户页面之间的数据信息传送每日任务。