我一直在努力寻找一种方法将来自Qpid Exchange的消息转发到另一个队列以进行测试/监控。我注意到那里的RabbitMQ用户有similar problem,解决方案似乎是RabbitMQ的Firehose功能。 Qpid中有类似的解决方案吗?
这里有一些好奇的细节。
所以有一点问题,我怎样才能得到CC给我的消息,但Bob还是会收到他的消息?
我有权修改消息传递配置,因此如果需要,我可以创建自己的队列和交换。赞赏的想法!
答案 0 :(得分:1)
直接交换可能是最合适的,因为您可以拥有一些类似CC行为的队列,而某些队列没有,您可以在实时交换中随时更改它。
您可以将两个队列绑定到同一主题/路由键。当消息与特定主题/路由密钥一起发送到交换机时,两个绑定队列都将接收相同消息的副本。
两个队列bar1
和bar2
都绑定到routing_key foo
。当生产者B
使用routing_key = foo
向交易所发布消息时,bar1
和bar1
都会收到所有消息的副本。
询问您是否需要创建交换和适当绑定的命令。
然而,还有更多方法可以做同样的事情:
您还可以使用主题队列实现类似行为,并在主题名称上使用完全匹配
最后,您还可以使用扇出交换,在您发送到队列的任何邮件中,副本将路由到绑定到交换机的所有队列。
请注意,所有这些交换类型都来自AMQP规范,因此它们不是特定于qpid的,您可以在任何AMQP实现中执行相同或类似的操作。