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

RocketMQ死信 我在dashboard上点重发,没有重发,还报错,各位遇到过这个问题吗?

RocketMQ死信
我在dashboard上点重发,没有重发,还报错,各位遇到过这个问题吗?用mqadmin querymsgbyid去根据msgid查,也查不到这条message。

展开
收起
嘟嘟嘟嘟嘟嘟 2023-10-18 07:57:38 165 1
2 条回答
写回答
取消 提交回答
  • RocketMQ的死信是指消息在消费端无法成功消费,并且超过了设置的延迟时间,此时消息会被标记为死信。对于你遇到的问题,可能有以下几种情况:

    1. 消费端程序出现问题,导致消息无法成功消费。这种情况下,你需要检查消费端的代码,看看是否有异常抛出或者逻辑错误。

    2. RocketMQ的配置问题。你可能需要检查RocketMQ的配置,特别是关于死信的消息的处理策略。默认情况下,RocketMQ会将死信的消息重新发送到队列中,由其他消费者进行消费。但是,如果你配置了将死信的消息直接删除,那么就无法通过mqadmin命令查询到这些消息。

    3. RocketMQ的服务器出现问题。如果RocketMQ的服务器出现故障,可能会导致消息无法正确处理。这种情况下,你需要检查RocketMQ服务器的日志,看看是否有异常信息。

    对于你的问题,我建议你首先检查消费端的代码,然后检查RocketMQ的配置,最后检查RocketMQ服务器的日志。

    2023-10-21 17:52:51
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在RocketMQ中,如果在dashboard上点重发,没有重发,还报错,可能是由于以下原因:

    1. 消息重试队列已经满,无法再接收新的消息。
    2. 消息重试队列的消费能力不足,无法处理所有的消息。
    3. 消息的重试次数已经达到了上限,无法再进行重试。

    如果使用mqadmin querymsgbyid去根据msgid查,也查不到这条message,可能是由于以下原因:

    1. 消息已经被消费或者删除,无法查到。
    2. 消息的序列号发生了变化,无法查到。
    3. mqadmin的查询条件不正确,无法查到。
    2023-10-18 13:49:43
    赞同 展开评论 打赏

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

相关产品

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

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