如何扩展使用其他服务的Node.js服务?

如何扩展使用其他服务的Node.js服务?,node.js,rest,heroku,Node.js,Rest,Heroku,我构建了一个JSON服务,它使用另外两个服务,每个服务都有一些延迟,由于这种依赖关系,每个请求可能需要800毫秒才能完成 我使用Node.js的一个主要原因是事件IO。我希望新的请求能够顺利处理,而不是挂起,因为缓慢的请求正在完成 我如何测试服务并获得一些关于我的服务在Heorku上的性能的可靠指标——这很难理解,因为我不想在我所依赖的其他服务上达到我的查询限制。我的服务将同时接受多少个请求?我能做些什么来最大化这个数字 另外,我想得到一些反馈,看看Node.js是否能在这个场景中提供更好的性能

我构建了一个JSON服务,它使用另外两个服务,每个服务都有一些延迟,由于这种依赖关系,每个请求可能需要800毫秒才能完成

我使用Node.js的一个主要原因是事件IO。我希望新的请求能够顺利处理,而不是挂起,因为缓慢的请求正在完成

我如何测试服务并获得一些关于我的服务在Heorku上的性能的可靠指标——这很难理解,因为我不想在我所依赖的其他服务上达到我的查询限制。我的服务将同时接受多少个请求?我能做些什么来最大化这个数字

另外,我想得到一些反馈,看看Node.js是否能在这个场景中提供更好的性能,比如说Rails

(哦,还有……Heroku是部署服务的好选择吗?对不起……我是Node的新手。)


非常感谢。

首先,您不应该使用内存会话,而应该使用DB会话、Memcached或Redis会话来共享状态

其次,您应该将延迟的进程分离到
工作进程
,并使用工作队列添加和获取这些延迟的作业。您可以使用Redis作为队列,也可以使用其他消息队列

第三,确保在节点代码上保持非阻塞状态<代码>流程。下一步检查是关键


您可以同时测试多个请求,这些请求是Heroku上的附加组件之一