有没有办法限制 RabbitMQ Queue 只将固定数量的消息从 Queue 分派给消费者? 我有 2 个队列 Q1 和 Q2 以及 10 个消费者。每个消费者都可以处理来自 Q1 和 Q2 的消息。在任何给定时间,只有 2 个消费者应该处理来自 Q2 的消息。所有 10 个消费者都可以同时处理 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我有一个问题,我在共享模式下设置了一个队列,并绑定了多个使用者。 问题在于,rabbitmq似乎正在序列化消息,即一次只能运行一个使用者。 我需要将此保持平行,但是,我似乎无法弄清楚该如何做。
每个使用者都在自己的进程中运行。 队列中有很多消息。 我正在使用py-amqplib与RabbitMQ接口。
有什么想法吗?
预取(QOS)呢? 在小型队列上,我通过声明队列,获取当前可用消息数,附加使用者,使用消息并在消息数量耗尽后将其关闭来给出并行化的外观。 在不确认消息的情况下关闭通道会使消息可供其他使用者使用,足够快地轮询队列,您可能会得到类似的解决方案。
再说一遍,首选的AMQP模型似乎是每个连接的消费者队列。 您应该创建一个“直接”交换,并同意您的消费者都将收听的路由密钥。 然后,每个连接的使用者都应创建一个排他的,私有的,非持久的队列,并使用queue_bind()
将他们的队列订阅与交换机上与公共路由密钥匹配的消息。 通过这种安排,我的工人将可以并行操作,而不是将其操作序列化!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.