2017-02-26 108 views
0

我开始使用RabbitMQ来管理我的Hapi.js RESTful API请求。基本的流程是,一旦节点服务器接收到请求,处理程序就会将参数发送到队列,并且工作人员将使用它,然后将结果发送回指向相应处理程序的另一个队列。最后,处理程序将把结果回复给客户端。现在我有两个选择来设计框架。RabbitQM多个队列或单个队列?

1.为每个消费者创建一个队列。一旦队列中充满请求,消费者就会处理它。

2.所有消费者只有一个队列。消费者将通过一些关键词从队列中抓取任务。

我认为选项2的唯一原因是创建队列时的内存成本。

有没有人有经验?我应该选哪个选项?

回答

0

这是来自社区的RabbitMQ一个答案:

这取决于你希望有多少队列有,但单个队列一直被认为是一个反模式。 不要这样做。

一致性哈希或另一散列算法可以用来为N消费者映射到M队列但 不是每个系统可以接受“mismapped”值时,无论是N或者M的变化。