2016 - 2024

感恩一路有你

rocketmq队列数量多少合适 java如何获取rabbitmq队列中消息数量?

浏览量:1621 时间:2021-03-11 18:24:59 作者:admin

java如何获取rabbitmq队列中消息数量?

这里是rabbitmq的消息确认机制:“为了保证消息不会丢失,rabbitmq支持消息确认机制。在接收和处理消息之后,客户机可以向rabbitmq发送一条ACK消息,告诉它消息可以被安全删除。如果客户端在发送ACK之前意外死亡,rabbitmq将消息传递给下一个使用者客户端。如果有多个客户机,则rabbitmq在传递消息时进行轮询。rabbitmq如何判断客户已经死亡?唯一的依据是客户端是否断开连接。没有超时机制,也就是说,客户端可以长时间地处理消息。只要连接没有断开,rabbitmq将始终等待ACK消息。“我现在面临的问题是:我有几个线程要从消息队列中获取数据,但是会有异常数据导致线程挂起,即“客户端在发送ack之前意外死亡”。Rabbitmq会将消息传递给下一个客户机,这样的异常数据会挂断我的所有线程。现在我想实现这个功能是的:如果异常数据导致进程挂起,我不会让rabbitmq把这个消息传递给下一个客户机,而是把它放到另一个地方或者单独处理它。我该如何实现这一点?

如何设计一个MQ消息队列?

1. 在上图中定义消息发送和消耗的过程

2。为消息定义消息协议,如ActiveMQ、stomp、XMPP等。定义消息协议,定义消息队列需要满足的场景

是否要保证消息的可靠性,必要时要保证存储的高可用性

是否支持同步和异步消息

是否要保证消息的顺序

是否需要延迟消息要支持

很多开源的实现功能可以参考详细信息。例如,rocketmq是高度可靠的,Kafka是高吞吐量的,但不是高度可靠的。

rocketmq队列数量多少合适 rabbitmq queue数量限制 rabbitmq查询消息数量

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。