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

消息队列RocketMQ版如果消息业务消费时间太久,那过多久会重新投递该消息?

消息队列RocketMQ版如果消息业务消费时间太久,那过多久会重新投递该消息?

展开
收起
Lee_tianbai 2021-01-01 16:25:08 2495 0
1 条回答
写回答
取消 提交回答
  • 消费端到 mq 当中拉到消息进行消费之后,会反馈给 mq 已经成功拿到消息并 且消费。如果 mq 没有接收到消费端的反馈,那么 mq 就会认为这个消息没有消费成 功,那么这个消息在 topic 当中就会再次可见,那么消费者就可以再次来拉取这个消 息(重试)。 第一次发消息算是第 0 次,如果在 10 秒内没有给 mq 反馈,那么这个消息就会 再次可见,消费端就会再去拉取这个消息,就是第一次重试了,如果在 10 秒之后, 消费者给了第一次发消息(第 0 次)的响应,那么这个消费也是失败的。比如消费者 现在拉取到的是 10s 之后第一次重试的,那么在之后的 30 秒之内,如果消费者给了 mq 第一次重试拉到的消息的响应,这个才算是消费成功的。 所以建议不要把业务逻辑放在返回给 mq 消息的代码之前,最好是保证 10 秒之 内要给到 mq 响应。可以将业务逻辑放在其他地方做并发处理。 image.png

    2021-01-01 16:25:34
    赞同 1 展开评论 打赏

多个子产品线联合打造金融级高可用消息服务以及对物联网的原生支持,覆盖多行业。

相关产品

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

    热门文章

    相关电子书

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