Pulsar消费者配置latest与earliest初始消费位置的异常行为咨询
Pulsar 消费者初始位置配置行为答疑
你观测到的所有表现均为Pulsar的预期正常行为,相关说明如下:
- 首先要纠正文档的错误表述:
latest和earliest是Pulsar的新订阅初始位移策略,和队列的FIFO/LIFO消费属性完全无关,官方从来没有过latest对应LIFO队列的定义,你看到的内容大概率是翻译错误或者第三方文档的错误表述。 earliest策略的真实逻辑:新订阅创建且没有已提交的历史消费位移时,从当前Topic留存的最早一条消息开始消费,消费顺序默认永远是FIFO,完全符合你观测到的结果。latest策略的真实逻辑:新订阅创建且没有已提交的历史消费位移时,跳过Topic现存的所有历史消息,仅消费订阅创建完成后新写入的消息,消费顺序依然为FIFO,和earliest的唯一差异只是初始消费的起始位置不同。- 你提供的
latest配置消费日志完全符合预期:日志中消息ID的entry ID字段从40递增到49,发布时间戳也同步递增,对应你先发布Hello-10-lifo-v3、再依次发布Hello-9到Hello-1的写入顺序,完全匹配FIFO消费的特征。
额外说明:Pulsar默认的普通订阅消费顺序永远为FIFO,只有配置了优先级队列、消息时间序倒排等特殊队列规则的场景才会出现非FIFO的消费顺序,和初始位移配置没有任何关联。
内容的提问来源于stack exchange,提问作者madtowneast
相关产品推荐
相关产品推荐

