我开始使用RabbitMQ来管理Hapi.js RESTful API请求。基本流程是,一旦节点服务器接收到请求,处理程序将向队列发送参数,工作人员将使用该参数,然后将结果发送回指向相应处理程序的另一个队列。最后,处理程序将将结果回复给客户端。现在我有两个选项来设计这个框架。
1.为每个消费者创建一个队列。一旦队列被请求填充,使用者将处理它。
2.所有消费者只需排队一次。使用者将用一些关键词从队列中抓取任务。
我考虑选项2的唯一原因是在创建队列时内存开销。
有人有经验吗?我该选哪一种?
发布于 2017-02-27 02:53:20
这是RabbitMQ社区的一个回答:
这取决于您期望有多少队列,但单个队列长期以来一直被认为是反模式。不要这样做。
一致散列或另一种散列算法可以用于将N个使用者映射到M队列,但不是每个系统都可以在N或M更改时接受“错误映射”值。
https://stackoverflow.com/questions/42472338
复制相似问题