Skip to main content
 首页 » 编程设计

rabbitmq之为什么看不到Rabbitmq队列中的消息

2024年06月20日16webabcd

如果我的理解是正确的,那么您实际上无法在不取出并放回兔子队列中的消息的情况下查看它们。无法使用rabbitmqctl来检查队列。

在某些调试环境中,了解队列中当前的内容非常有用。有没有办法获取消息?另外,Rabbit 的设计是什么让这个过程变得繁琐?

请您参考如下方法:

管理 API 中的每个队列都有一个“获取消息”部分。然而,这会导致消息被消耗,因此是一种破坏性行为。我们可以将此消息重新排队到队列中,但代价是牺牲消息的顺序[对于rabbitmq版本<2.7.0]。

更可行的替代方案是使用 firehose 示踪剂 http://www.rabbitmq.com/firehose.html [对于rabbitmq版本> 2.5]。这本质上是将消息发布到不同的交换器 (amq.rabbitmq.trace),仅用于调试目的。

这里是另一个写在 Firehose 顶部的 GUI,以获得更好的可见性,http://www.rabbitmq.com/blog/2011/09/09/rabbitmq-tracing-a-ui-for-the-firehose/