关于RabbitMQ工作队列,我有两个问题:
(GetResponse response = channel.basicGet("my_queue", false)。由于我一次只收到一条消息,是否仍有必要设置一个prefetchCount (channel.basicQos(1))来进行公平分配?发布于 2013-01-30 23:18:08
对你的问题的回答:
但是,您的两个问题1和2是不兼容的。如果您使用的是消费者,则设计它的目的是将消息推送到它,而不使用Basic.Get。当您使用使用者时,您将需要使用Basic.QoS来指定使用者一次只能“拥有”一个未确认的消息。RabbitMQ不会将额外的消息推到QoS限制之外。
您的替代方法是使用Basic.Get从队列中“提取”,您将控制自己的命运,直到您一次运行多少条消息。
这有道理吗?
https://stackoverflow.com/questions/14608211
复制相似问题