【发布时间】:2020-01-29 19:28:50
【问题描述】:
我主要在 RPC 模式下使用 rabbitMq,但我也想将请求和响应消息复制到另一个队列。
最后,我想要实现的是,外部消费者可以通过侦听队列来查看所有流量,我们称之为“日志队列”。
复制传入的消息没问题,我只需要使用扇出交换器或将我的日志队列绑定到使用与 RPC 调用使用的路由密钥相同的交换器。
但我无法找到一种方法来“扇出”通过直接回复功能发送的消息。
到目前为止,我了解到响应消息是通过生成的 routing_key 以 amqp.rabbitmq.reply-to.generatedName 的形式发送到默认直接交换的,并且由于默认交换是不可触及的,因此我无法复制这些消息。
你知道有什么方法吗?
我有一个我宁愿避免的解决方案:让客户端将从回复接收到的响应重新发送到“日志队列”。
但这意味着我的客户负责这个“记录”功能,我宁愿不这样做。
顺便说一句,即使我认为它不相关,因为这可能是rabbitMq服务器配置问题,我使用Spring-AMQP客户端
【问题讨论】:
-
同样的问题,也用于记录目的。很遗憾,除了更改代码或通过设置中间交换或您的建议来影响性能之外,可能没有真正的选择......
标签: rabbitmq spring-amqp