Apache RocketMQ一条事务消息 , messageId在手动重推之后就变了,为什么?

请教一下, Apache RocketMQ一条事务消息 , 它的messageId在手动重推之后就变了,实际收到的msgid和dashboard上展示的messageid不一样 , 这是什么原因嘞? 图片.png

展开
收起
wenti 2023-02-13 13:59:56 412 分享 版权
1 条回答
写回答
取消 提交回答
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    事务消息的消息 ID 是由生产者客户端在发送半消息时生成的,这个消息 ID 是不可变的。 但是在手动重推之后,消息 ID 发生变化的原因可能是因为在 RocketMQ 中,事务消息是有两个阶段,即预提交和提交,而在手动重试的过程中,有可能将消息从预提交状态转为提交状态。在提交状态下,消息 ID 会发生变化,所以在手动重推后收到的消息 ID 与原来的消息 ID 不一样。

    2023-02-17 13:48:42
    赞同 展开评论

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系列产品 Serverless 化。RocketMQ 中文社区:https://rocketmq-learning.com/

收录在圈子:
+ 订阅
阿里云 云原生应用平台 肩负阿里巴巴集团基础设施云化以及核心技术互联网化的重要职责,致力于打造稳定、标准、先进的云原生产品,成为云原生时代的引领者,推动行业全面想云原生的技术升级,成为阿里云新增长引擎。商业化产品包括容器、云原生中间件、函数计算等。
还有其他疑问?
咨询AI助理