2016-02-11 76 views
0

我在考虑创建一个长时间运行的Web服务。设计这些与负载均衡器一起使用的最佳方式是什么?除了编写自定义队列之外,我想不出有什么办法。缩放长时间运行的Web服务

回答

1

这正是你应该做的。您通常希望您的Web服务调用成为快速请求/响应。因此,调用Web服务,让Web服务队列工作,然后让工作进程从队列中选取消息并处理它们。

这是要走的路,排队长时间运行的进程允许您的系统进行扩展,允许您在进程失败时添加恢复逻辑,允许您通过添加额外的工作人员来快速扩展队列以及最好的所有这些都不会阻止客户等待回应。

REDIS(http://redis.io/)在过去几年一直是我的选择,如果您使用的是Azure或AWS,那么它们也具有消息传递服务。

您还可以使用websockets通知客户端何时完成进程以保持循环中的UI状态。