RocketMQ有没有人遇到过这个问题,偶尔发生,但是消息量并不大,服务器监控上看cpu、内存、iops啥均正常着?[TIMEOUT_CLEAN_QUEUE]broker busy, start flow control for a while, period in queue: %sms, size of queue: %d
以下为热心网友提供的参考意见
这个问题可能是由于RocketMQ Broker的队列积压导致的。当Broker处理消息的速度跟不上生产者发送消息的速度时,就会导致消息在Broker上堆积,从而触发了超时清理队列的操作。
为了解决这个问题,你可以尝试以下几种方法:
- 调整Broker的消费速度,增加消费者数量或者提高消费者的消费能力。
- 调整Broker的消息存储策略,例如增加消息存储时间、减少消息压缩比例等。
- 优化生产者发送消息的策略,例如增加批量发送的大小、减少发送频率等。
- 监控和分析系统的性能瓶颈,找出导致消息堆积的原因并加以解决。
以下为热心网友提供的参考意见
这是关注释源码,你看看对应的流程
,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”
以下为热心网友提供的参考意见
错误信息”[TIMEOUT_CLEAN_QUEUE]broker busy, start flow control for a while, period in queue: %sms, size of queue: %d”表示Broker节点繁忙,开始进行流量控制。这可能是由于短时间内有大量的消息发送或处理请求导致的。即使服务器监控显示CPU、内存、IOPS等指标正常,也可能是由于瞬间的高并发请求引起的问题。建议:
- 调整生产和消费的速度,避免短时间内产生大量消息。
- 检查是否有异常的生产者或消费者导致消息积压。
- 查看Broker节点的日志,查找可能的错误信息或瓶颈。
本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/18578.html