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

RocketMQ碰到2个问题,怎么解决?

RocketMQ碰到2个问题,怎么解决?
1、消费消费消息,3天后就不消费了。重启就好了。目前来看3天消费指定tag的消费条数为110条。
2、消息偶发生产失败,返回broker busy的问题。

展开
收起
嘟嘟嘟嘟嘟嘟 2023-11-07 13:24:42 78 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    对于第一个问题,我推测可能是消费者在消费消息时存在一些资源泄露或者内存溢出等问题,导致在运行一定时间后无法继续消费消息。建议检查消费者的日志文件,查看是否有任何异常或错误提示。此外,还需要考虑是否有可能是因为消息堆积过多而导致消费者无法正常处理的情况。可以尝试通过调整消费者的消费速度或者增加更多的消费者来缓解这个问题。

    第二个问题,"broker busy"通常表示broker正在繁忙,无法立即处理发送请求。这可能是由于网络延迟、磁盘I/O性能瓶颈等原因造成的。有几个可能的解决方案:

    • 增加broker的并发能力,例如增加硬件资源或优化配置;
    • 调整producer的发送策略,例如增大batch size或减少发送频率;
    • 如果是网络延迟导致的问题,可以考虑在网络层进行优化,如使用更快的网络设备或改善网络拓扑结构。
    2023-11-07 13:31:22
    赞同 展开评论 打赏
  • 2 的原因应该是当前的 broker tps 过高,导致写消息性能下降被放大了。可以从以下几个方面处理:

    • 扩容/水平扩展 broker
    • 开启transientStorePoolEnable【不过会增加数据丢失的可能性】
    • 业务方自行失败重发或者使用同步发送方式,内部默认自行重试2次
      以上个人经验,更权威的还需要大佬来拍板。
      此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”
    2023-11-07 13:30:15
    赞同 展开评论 打赏

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

热门讨论

热门文章

相关电子书

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