作为来自企业 IT 的 Node.js 初学者,我无法理解 Node.js 用法的某一方面。我将我的问题分为两部分。
问题 1) 严格从可扩展性的角度来看,I/O 密集型 Web 应用程序如何使用 Node.js 进行扩展,除非我们扩展它消耗的后端 I/O 资源?
数据库服务器只能为“X”个并发用户提供服务。即使基于 Node 的 HTTP 服务器能够处理更多传入请求,总体吞吐量也将取决于数据库可以处理的并发连接数。
这同样适用于其他企业资源,例如从文件服务器检索内容或调用旧版 API 等。我知道我们不会那么担心可以弹性扩展且不在我们直接权限范围内的云资源。
问题 2) 如果上述问题的答案是“Node 不是一刀切的解决方案”,那么 PayPal、Walmart、LinkedIn 等公司情况如何等人能够使用 Node 来扩大规模吗?它们也将集成到现有的系统环境中,并且不是完全基于网络的应用程序(或者它们是吗?)。
最佳答案
Node.js 通常用作 SOA 中的编排层。它主要用作后端服务的前端。确实如此
吞吐量将取决于数据库可以处理的并发连接数,但也涉及时间
供表示层呈现内容。
JSP、Ruby on Rails 等 Web 技术旨在获取服务器上的内容并作为客户端的单个页面,不适合编排层。今天我们需要处理移动客户端的服务(其中有大量 API 调用)检索少量数据)因此node.js减少了响应时间并增加了用户体验。
看http://nodejs.org/video/ Eric Hammer 制作的视频,旨在了解 Node.js 如何在沃尔玛中使用。
关于典型 Web 应用程序中的 Node.js 可扩展性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25605639/