我构建了一个 JSON 服务,该服务使用另外两个服务,每个服务都有一定的延迟,由于这种依赖性,每个请求可能需要长达 800 毫秒才能完成。
我选择 Node.js 的主要原因之一是事件 IO。我希望新的请求能够顺利处理,而不是挂起,因为缓慢的请求正在完成。
我如何测试服务并获得一些关于我的服务在 Heorku 上的执行情况的可靠指标——这很难弄清楚,因为我不想达到我所依赖的其他服务的查询限制。我的服务将接受多少个并发请求?我可以做什么来最大化这个数字?
此外,我想获得一些反馈,了解 Node.js 是否会在这种情况下为我提供比 Rails 更好的性能?
(哦,而且......Heroku 是部署服务的好选择吗?抱歉......我是 Node 新手。)
非常感谢。
最佳答案
首先,您不应该使用内存 session ,而应使用 DB session 、Memcached 或 Redis session 来共享状态。
其次,您应该将延迟进程与工作进程
分开,并使用工作队列来添加和获取这些延迟作业。您可以使用Redis作为队列,即kue或使用其他消息队列是不错的选择。
第三,确保 Node 代码保持非阻塞。 process.nextTick
是关键。
您可以使用 Blitz 测试多个并发请求这是 Heroku 上的附加组件之一。
关于node.js - 如何扩展使用其他服务的 Node.js 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12850201/