我有一个用Node.js编写的服务的多个前端和用Ruby编写的工作者。现在的问题是如何进行沟通?我需要维护动态工作池以处理负载(在负载上升时产生更多工作人员)并且消息非常大~2-3M因为我正在向用户通过Node.js前端上传的工作人员发送图像。因为我想要很好的扩展我想到了一些排队解决方案,但我没有找到任何现有的解决方案(或误解的指南)将提供:
也许我的做法错了?也许我不应该使用队列,但其他方式?还是有一些符合上述要求的排队解决方案?
答案 0 :(得分:1)
毫无疑问,你需要一个队列来扩展,你可以监视这个队列以产生“工人”。
Apache ActiveMQ非常强大,支持REST协议。 Ruby客户端也可以访问队列。
答案 1 :(得分:1)
在一天结束时,我采用了ZeroMQ队列解决方案。非常快速,强大和轻量级的实现。不得不写自己的经纪人,但这是这个解决方案的唯一缺点。
答案 2 :(得分:0)
redis发布/订阅应该可以解决问题