rocketmq
在 RocketMQ 中,msgId 和 offsetMsgId 是两个不同的概念。
msgId 是消息唯一标识符。具有全局唯一性,由 RocketMQ 在消息发送时自动生成。当消息被成功发送到 Broker 端后,msgId 会随着消息一起存储在 commitlog 文件中,并且在消息消费时也可以用来查找和定位该消息。通常情况下,生产者和消费者都不需要关心 msgId 的生成和使用。
offsetMsgId 是消息在队列中的偏移量标识符。当一个消息发送到 RocketMQ 集群中时,它首先会进入 Topic 下的某个队列(queue)中。每个队列都有自己的 offsetMsgId 序列号。生产者发送消息时,会收到一个 SendResult 对象,其中包含了消息在对应队列中的 offsetMsgId 偏移量标识符。消费者在消费消息时,也可以通过 offsetMsgId 来定位指定位置的消息,并从该位置开始消费。
总之,msgId 和 offsetMsgId 是两个不同用途的标识符,前者是消息的唯一标识符,而后者是消息在队列中的偏移量标识符。对于生产者和消费者而言,它们主要关注的是 offsetMsgId 及其相关的操作,而 msgId 则通常由系统自动处理。
标签:队列,msgId,偏移量,消息,offsetMsgId,标识符,rocketmq
From: https://www.cnblogs.com/caoxuekun/p/17461878.html