在Rabbitmq中,我绑定了一个队列“聚合器”以与路由键“ agg。*”交换“ Exhange1”。使用动态生成器correlation_id
将消息发布到此队列。假设带有correlation_id='1234'
的消息已发布到此交换所,并且消费者只想使用此特定消息,而不消耗其他消息并发回直到获得correlation_id=1234
。有没有办法实现这一目标?
这个问题不是关于基于路由密钥的邮件分离
基本上,我想应用correlation_id
作为过滤器,并使用特定的消息而不消耗所有消息,因为Rabbitmq文档说出了它的反模式。
答案 0 :(得分:0)
RabbitMQ以FIFO顺序传递消息。无法使特定消息出队。
主题交流可以解决您的用例。不要忘记,对于消费者而言,使用适用于该用例的任何绑定参数来绑定到具有自己的独占队列的交换是完全可以的。
注意: RabbitMQ团队监视the rabbitmq-users
mailing list,并且有时仅在StackOverflow上回答问题。