Groupon从Ruby on Rails迁移至Node.js
为什么要放弃原有技术栈?
Groupon目前在全球共有两套站点——美国网站和欧洲网站,其美国网站前端最初是一个单一的Rails(更流行的Ruby开发框架)代码库。对于为什么会选择Rails来开发最初的网站,Groupon开发人员表示,Rails非常适合小型团队快速开发,可以让网站快速启动并运行起来,这对于初期功能不断变化的Groupon来说,是个非常不错的选择。
随着Groupon的发展和新产品不断推出,这个代码库越来越大,有太多的开发者在同一个代码库工作,他们很难在本地运行并测试产品,如果有问题需要回滚,那么每个人的工作都前功尽弃了。
Groupon团队决定将原有的单一Rails库分割成小的、独立的、更易于管理的库。
为什么选择Node.js?
Groupon团队评估了不同的软件栈,想寻找一个能够解决这些问题的方案——有效处理大量传入的HTTP请求、使并行API请求服务于每一个HTTP请求、将结果渲染为HTML5,并可以有效实现监控、部署和支持。
该团队使用不同的软件栈开发了原型,并测试了它们,总体来说,发现Node.js是个非常适合的解决方案。
如何迁移?
Groupon团队使用Node.js重建了网站页面的每个主要部分,将它们作为一个独立的Node.js应用程序,然后重建了基础设施,使所有独立的应用程序可以一起工作。迁移之后,Groupon成为了全球更大的Node.js部署产品之一。
迁移带来的好处
之前单个Rails前端代码库被分割成了20个独立的应用程序,其带来了如下的好处:页面加载更快——快了50%与之前相比,处理相同的流量所使用的硬件资源更少团队可以独立地更改、部署各自负责的模块网站功能和设计实现可以快速迭代
更详细的信息可参阅 Groupon开发团队的博客。
选择Nodejs的N个理由
Caleb Madrigal是来自美国密尔沃基市的一名软件顾问。四年前,他在听说“将JavaScript用作服务器端语言”这样的说法时,认为那是一个荒唐的想法。有那么多服务器端语言可供选择,为什么要选JavaScript?这是他当时的想法。但现在,他在当前的项目中选用了JavaScript/Node.js。他近日撰文对自己的这一转变进行了解释。
首先,许多顶级企业都使用了Node.js,并且效果非常好,其中包括PayPal、Walmart、Ebay、Groupon和LinkedIn。这些企业在生产环境中大量使用了Node.js。Madrigal举了PayPal的例子。PayPal针对他们网站上其中一个流量更大的应用,对比了它的Node.js版本和Java版本,发现前者在多个方面优于后者,并最终决定由Java切换到JavaScript。InfoQ对此有过报道。
其次,Node.js有一个很棒的包管理系统NPM。通过运行“npm install 包名”几乎可以安装任何包/库。另外,通过package.json文件可以跟踪依赖关系。因此,Node.js库很容易克隆,运行“npm install”可以安装所有的依赖关系。
再次,Node.js社区异常活跃,总是有新的库产生。这些库非常好用,使JavaScript成为一个非常高效的平台。
然后是Node.js 的REPL(read-evaluate-print loop)命令行。开发人员只需要在终端中输入“node”,就可以对Node.js进行逐行测试。
最后,Node.js有一个很重要的特性:非阻塞函数。这就是为什么我们会在Node.js的代码中看到大量的callbacks和promises。这种设计模式给Node.js带来了非常优异的性能。
此外,Node.js的更大一个优点是:它是JavaScript。任何人都知道JavaScript,所以使用Node.js不需要学习一门新语言。有了它,开发人员可以只使用一种语言,浏览器端用JavaScript,服务器端用Node.js。在使用像MongoDB和CouchDB这样存储 *** ON对象的文档数据库时,这会极大地简化数据库和用户界面之间的数据传递任务。
此刻的社会万事都需要讲一个钱在,在当今的社会上钱并不能让鬼推磨,钱并不是万能的,可是假如没有钱那就代表着无法糊口,所以没有钱对付当今社会上的每一小我私家来说都是最为可怕的存在,因此此刻的街道上全是为了...
请问怎么查看我老公微信聊天记录 怎么查看我老公已经删除的微信 2018机器人操作系统 ROS理论与实践视频教程 SLAM机器人仿真 课程介绍:请问怎么查看我老公微信聊天记录 怎么查看我老公已经...
排版的样式无非那么几种,左右排版,上下排版,还有斜版。这些我们用眼睛直接看就可以看出来。如果再复杂一点的话,就是几种排版方式的结合。 既然排版就这几种,那我们是不是很轻松就可以做好排版呢? 事实上...
怎么盗取微信帐号(盗微信号最简单的方法),自2007年1月09日苹果公布第一代苹果智内行机以来,智内行机环境趋势出现爆炸式增进。十多年来,智内行机的开展转变了人们的生存。现在,生存的方方面面都离不开手...
本文导读目录: 1、世界黑客排名是怎样的? 2、世界十大黑客排行榜 3、世界黑客排名? 4、世界黑客是谁? 5、我们中国的黑客有多厉害?世界排行数几? 6、全球6大黑客,中国占几个...
本文目录一览: 1、点击百度知道用户名有些人的博克很漂亮, 2、让电脑像黑客帝国一样滚绿码 3、求"黑客帝国"里电脑屏幕上的"代码"不间断滚动的代码, 4、什么叫源文件,源代码? 5、...