我们运行多个并发RabbitMQ使用者,每个使用者在一个循环中执行“basicGet”。我们看到单个消费者获得大部分消息。是否有办法在所有消费者之间更均匀地传播消息?基本上,我们可以以某种方式中断服务第一个消费者的RabbitMQ并切换到下一个。注意:我们必须拉消息(basicGet)并且不能切换到推(basicConsume)谢谢。从单个RabbitMQ队列中并发获取基本信息
1
A
回答
0
设置消费预取限制为1,并将消费者置于noAck:false模式。
...这可能是AUTOACK:假的,而不是诺亚克...
这将迫使你的消费者一次只检索1个消息,并需要您手动ACK消息。
有了这两样东西,你的信息更均匀地分布在多个消费者应分配 - 假设你已经在队列中的多个消息
+0
谢谢。这正是我正在寻找的方向(RabbitMQ接口配置)。只是我不认为prefetch与basicGet相关 - 这是一个basicCOnsume的事情。现在我需要为basicGet尝试“手动”确认它是否有帮助。再次感谢你。 – Ken
+0
我认为你对预取是正确的,因为basicGet一次只能抓取一条消息。 :) –
相关问题
- 1. 从rabbitmq队列中获取一条消息并取消订阅
- 2. 获取RabbitMQ队列中的消息数
- 3. RabbitMq中每个消息使用者的单独死信队列
- 4. 从队列中的一串mesggae获取队列中的特定消息(Rabbitmq),python
- 5. RabbitMQ - 使用curl从队列中获取消息
- 6. RabbitMQ只有一次从队列中获取消息计数
- 7. 从java代码获取rabbitmq队列中消息的数量
- 8. 从RabbitMQ队列中检索消息
- 9. 多个工作人员从单个MongoDB队列中获取信息
- 10. 从多个队列读取,RabbitMQ
- 11. SQL:如何从表中获取单个查询信息并从另一个表中获取集合信息?
- 12. RabbitMQ死信交换/队列
- 13. 从队列中获取消息只检索单条消息
- 14. RabbitMQ在启动时从队列中取出一条消息
- 15. JT400 - 从队列中获取消息
- 16. 从消息中获取队列名称
- 17. Rabbitmq并捕获所有队列
- 18. 单通道 - RabbitMQ中的一个队列?
- 19. 如何从EasyNetQ中的消息中获取RabbitMQ死信头信息?
- 20. RabbitMQ用户将消息发送回RabbitMQ队列?
- 21. RabbitMQ - 如何获取队列大小
- 22. RabbitMQ从多个消费者队列序列化消息
- 23. Eclipse插件开发 - 从团队提供者获取信息
- 24. RabbitMQ的队列中的消息
- 25. 基于列值获取mysql信息
- 26. MQException从MQ队列中获取消息时发生2046错误
- 27. RabbitMQ队列订单管理
- 28. 如何从星号获取队列信息
- 29. 从表单中获取用户信息
- 30. 从维基百科获取信息
'不能转推(basicConsume)'我读过的最悲惨的事情之一今天:) – cantSleepNow