gpt4 book ai didi

java - 分析驻留在队列 RabbitMQ 中的消息

转载 作者:行者123 更新时间:2023-12-01 09:44:39 25 4
gpt4 key购买 nike

我有几个 Java 客户端使用 RabbitMQ 默认交换将消息发送到队列。

我希望能够分析队列内部的消息(如果它们没有明显被消耗),识别消息的发送者,如果客户端发送太多消息,则绑定(bind)一个特殊的队列,以便该客户端发送发送到该队列的消息。

我是 RabbitMQ 新手,所以我想知道的是:

  • 是否可以在 RabbitMQ 中附加客户端 ID 作为 header ?

  • 如何为工作量大的客户端创建特殊队列?

  • 是否可以分析驻留在队列中的消息?

任何帮助将不胜感激。

最佳答案

Is it possible to append a client ID as a header in RabbitMQ?

您可以使用BasicProperties上的 header 字段

Map<String, Object> headers = new HashMap<String, Object>();
headers.put("myclientid", 22222);

channel.basicPublish(exchangeName, routingKey,
new AMQP.BasicProperties.Builder()
.headers(headers)
.build()),
messageBodyBytes);

How to create a special queue for clients with much workload?

没有“特殊”队列,您可以向同一个队列添加更多消费者,以防工作负载很高。看 https://www.rabbitmq.com/tutorials/tutorial-two-java.html

Is it possible to analyse messages residing in a queue?

您可以使用 API basic_get 而无需确认消息,这样您就可以读取消息而无需将其从队列中删除

关于java - 分析驻留在队列 RabbitMQ 中的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38164160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com