开发者社区 > 云原生 > 云消息队列 > 正文

RocketMQ有没有人遇到过这个问题,偶尔发生,但是消息量并不大?

RocketMQ有没有人遇到过这个问题,偶尔发生,但是消息量并不大,服务器监控上看cpu、内存、iops啥均正常着?[TIMEOUT_CLEAN_QUEUE]broker busy, start flow control for a while, period in queue: %sms, size of queue: %d

展开
收起
真的很搞笑 2023-12-25 09:47:15 60 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这个问题可能是由于RocketMQ Broker的队列积压导致的。当Broker处理消息的速度跟不上生产者发送消息的速度时,就会导致消息在Broker上堆积,从而触发了超时清理队列的操作。

    为了解决这个问题,你可以尝试以下几种方法:

    1. 调整Broker的消费速度,增加消费者数量或者提高消费者的消费能力。
    2. 调整Broker的消息存储策略,例如增加消息存储时间、减少消息压缩比例等。
    3. 优化生产者发送消息的策略,例如增加批量发送的大小、减少发送频率等。
    4. 监控和分析系统的性能瓶颈,找出导致消息堆积的原因并加以解决。
    2023-12-26 14:29:28
    赞同 展开评论 打赏
  • 这是关注释源码,你看看对应的流程7e4a32eb8d865ce334ee9b99a843d947.png
    ,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2023-12-25 17:19:56
    赞同 展开评论 打赏
  • 错误信息"[TIMEOUT_CLEAN_QUEUE]broker busy, start flow control for a while, period in queue: %sms, size of queue: %d"表示Broker节点繁忙,开始进行流量控制。这可能是由于短时间内有大量的消息发送或处理请求导致的。即使服务器监控显示CPU、内存、IOPS等指标正常,也可能是由于瞬间的高并发请求引起的问题。建议:

    • 调整生产和消费的速度,避免短时间内产生大量消息。
    • 检查是否有异常的生产者或消费者导致消息积压。
    • 查看Broker节点的日志,查找可能的错误信息或瓶颈。
    2023-12-25 15:49:34
    赞同 展开评论 打赏

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关产品

  • 云消息队列 MQ
  • 相关电子书

    更多
    低代码开发师(初级)实战教程 立即下载
    冬季实战营第三期:MySQL数据库进阶实战 立即下载
    阿里巴巴DevOps 最佳实践手册 立即下载