典型Web应用程序中的Node.js可伸缩性

由于Node.js初学者来自Enterprise IT,我无法理解node.js用法的一个方面。 我正在两个部分构思我的问题。

问题1)严格来说,从可伸缩性的angular度来看,I / O沉重的Web应用程序如何使用node.js进行扩展,除非我们缩减它所消耗的后端I / O资源?

数据库服务器只能提供“X”个并发用户。 即使基于节点的HTTP服务器能够处理更多的传入请求,整体吞吐量也将由数据库可处理的并发连接数决定。

同样适用于其他企业资源,例如从文件服务器进行内容检索或调用传统API等。据我所知,我们不太担心可以弹性扩展且不在我们的直接权限范围内的云资源。

问题2)如果对上述问题的回答是“ 节点不是一刀切的解决scheme ”,像PayPal,Walmart,LinkedIn等公司如何能够通过节点获得规模? 他们也将整合到他们现有的系统环境中,而不是完全基于networking的应用程序(或者他们?)。

Node.js通常用作SOA中的编排层,主要用作后端服务的前端。吞吐量的确是由DB可以处理的并发连接的数量决定的,但是也有performance层介入内容的时间。
诸如JSP,Ruby on Rails之类的Web技术被devise为获取服务器上的内容,并作为单个页面传递给客户端,并且不适合编排层。今天,我们需要处理移动客户端的服务(其中有很多API调用检索less量的数据)因此,node.js减less了响应时间,并增加了用户的使用期限。
看看Eric Hammer的http://nodejs.org/video/video,了解Node.js如何在沃尔玛使用。