和Java比较的话,Paypal的经验比较有说服力,因为他们不是重写(毕竟不管换不换技术一般重构都会带来提升的),而是Java和Node同时开发一个系统,最后选择了Node
Node.js at PayPal
https://www.paypal-engineering.com/2013/11/22/node-js-at-paypal/1. 降低前后端沟通成本,方便培养全栈工程师
2. 一开始只在原型使用 Node.js,效果很好,于是后来直接应用于生产环境
3. 一开始 express 路由 + nconf 配置 + grunt 构建,但 express 写法太灵活缺乏一致性不适合多团队环境,造了一个 Kraken.js 帮助大型团队进行开发
最初应用于生产环境是流量最高之一的账户概览页面,安全起见 Java 和 Node.js 两个版本同时开发。
开发速度:
Java 团队5人,Node 团队2人,Node 团队在延迟2个月才开始的情况下3个月内赶上 Java 团队的开发进度:
* 在人数更少的情况下,Node开发速度是Java的两倍
* 代码量少了33%
* 文件数目少了40%
性能:
Java使用基于Spring自创的框架,Node使用自创的Kraken.js和express,dust.js以及其他开源库,3条路由,每条大约包含2~5个API请求
* 每秒完成的请求数是Java的两倍
* 响应时间快了35%
这篇有更详细的介绍
How Paypal is being revolutionized by Node.js & Lean UX
http://www.nearform.com/nodecrunch/release-the-kracken-how-paypal-is-being-revolutionized-by-node-js-and-lean-ux/其他一些比较有趣的 War Story:
How We Built eBay's First Node.js Application
http://www.ebaytechblog.com/2013/05/17/how-we-built-ebays-first-node-js-application/#.VPBikeEc9-WNode.js + Cocktails: Scaling Yahoo!
http://finance.yahoo.com/video/node-js-cocktails-scaling-yahoo-051216550.html