Qpid 相当于 RabbitMQ firehose?
Qpid equivalent to RabbitMQ firehose?
出于 testing/monitoring 的目的,我一直在尝试找到一种将消息从 Qpid Exchange 抄送到另一个 Queue 的方法。我注意到那里的一个 RabbitMQ 用户有一个 similar problem, and the solution seemed to be RabbitMQ's Firehose 特性。 Qpid中有类似的解决方案吗?
这里有一些更多的细节供好奇的人使用。
- 让我们将 Exchange 称为 "App.Ex",并通过它为单个其他预期收件人(让我们称他为 "Bob")发送消息
- 我连接到 App.Ex,启动会话,启动接收器,然后开始获取(使用改编自 QPID Book 的 "A Simple Messaging Program in Python" 的代码)
- 我开始看到我想看到的消息。但是,在这样做的过程中,我剥夺了 Bob 他需要的消息!
那么问题来了,我怎样才能得到抄送给我的消息,但 Bob 仍能收到他的消息?
我有权修改消息配置,因此如果需要我可以创建自己的队列和交换器。想法赞赏!
A direct exchange 可能是最合适的,因为你可以有一些队列有类似 CC 的行为,有些没有,你可以在实时交换中随时更改它。
您可以将两个队列绑定到同一个 subject/routing 键。当使用特定 subject/routing 键将消息发送到交换器时,两个绑定队列将收到同一消息的副本。
队列 bar1
和 bar2
都绑定到 routing_key foo
。当生产者 B
使用 routing_key = foo
向交换器发布消息时,bar1
和 bar1
都会收到所有消息的副本。
询问您是否需要用于创建交换和适当绑定的命令。
但是有更多方法可以做同样的事情:
您还可以使用 topic 队列实现类似的行为,并与主题名称
完全匹配
最后,您还可以使用 fanout 交换,您发送到队列的任何消息,副本都会路由到绑定到交换的所有队列。
请注意,所有这些交换类型都来自 AMQP 规范,因此它们不是特定于 qpid 的,您可以在任何 AMQP 实现中做同样的事情或非常相似的事情。
出于 testing/monitoring 的目的,我一直在尝试找到一种将消息从 Qpid Exchange 抄送到另一个 Queue 的方法。我注意到那里的一个 RabbitMQ 用户有一个 similar problem, and the solution seemed to be RabbitMQ's Firehose 特性。 Qpid中有类似的解决方案吗?
这里有一些更多的细节供好奇的人使用。
- 让我们将 Exchange 称为 "App.Ex",并通过它为单个其他预期收件人(让我们称他为 "Bob")发送消息
- 我连接到 App.Ex,启动会话,启动接收器,然后开始获取(使用改编自 QPID Book 的 "A Simple Messaging Program in Python" 的代码)
- 我开始看到我想看到的消息。但是,在这样做的过程中,我剥夺了 Bob 他需要的消息!
那么问题来了,我怎样才能得到抄送给我的消息,但 Bob 仍能收到他的消息?
我有权修改消息配置,因此如果需要我可以创建自己的队列和交换器。想法赞赏!
A direct exchange 可能是最合适的,因为你可以有一些队列有类似 CC 的行为,有些没有,你可以在实时交换中随时更改它。
您可以将两个队列绑定到同一个 subject/routing 键。当使用特定 subject/routing 键将消息发送到交换器时,两个绑定队列将收到同一消息的副本。
队列 bar1
和 bar2
都绑定到 routing_key foo
。当生产者 B
使用 routing_key = foo
向交换器发布消息时,bar1
和 bar1
都会收到所有消息的副本。
询问您是否需要用于创建交换和适当绑定的命令。
但是有更多方法可以做同样的事情:
您还可以使用 topic 队列实现类似的行为,并与主题名称
完全匹配最后,您还可以使用 fanout 交换,您发送到队列的任何消息,副本都会路由到绑定到交换的所有队列。
请注意,所有这些交换类型都来自 AMQP 规范,因此它们不是特定于 qpid 的,您可以在任何 AMQP 实现中做同样的事情或非常相似的事情。