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

搭建的RocketMQ集群,点击topic状态的时候,有时候报这个错误,这是咋回事有人遇到吗?

搭建的RocketMQ集群,点击topic状态的时候,有时候报这个错误,有时候正常弹出状态。而且在系统中消费消息有时候能成功有时候成功不了,感觉是生产发送都失败了。这是咋回事有人遇到吗?8e1bc830bd2952a1e8a89fddd25bcad9.jpg
搭建的双主双从同步

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

    这个问题可能由多种原因导致。首先,RocketMQ消息消费失败的场景有以下几种:

    1. 消费者应用程序抛出异常。当消费者应用程序在处理消息时发生异常,消息将被认为是未消费,RocketMQ会尝试重新发送该消息,直到消费者成功处理为止。
    2. 消费者应用程序超时。
    3. 更新本地保存的消息偏移量时,会从消息列表中发送回Broker失败的消息先删除掉。只要有一条消息消费失败,这批消息都会进行重试,因此消费端做好幂等是必要的。
    4. 对于普通的消息,当消费者消费消息失败后,可以在消息监听器接口的实现中设置返回状态达到消息重试的结果。
    5. Apache RocketMQ的消费重试主要解决的是业务处理逻辑失败导致的消费完整性问题,是一种为业务兜底的策略,不应该被用做业务流程控制。建议以下消费失败场景使用重试机制:业务处理失败,且失败原因跟当前的消息内容相关,比如该消息对应的事务状态还未获取到,预期一段时间后可执行成功。消费失败的原因不会导致连续性,即当前消息消费失败是一个小概率事件,不是常态化的失败,后面的消息大概率会消费成功。此时可以对当前消息进行重试,避免进程阻塞。
    2023-12-14 21:33:19
    赞同 展开评论 打赏

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

相关产品

  • 云消息队列 MQ
  • 热门讨论

    热门文章

    相关电子书

    更多
    RocketMQ Client-GO 介绍 立即下载
    RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
    基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载