|
该版本仍在开发中,尚未被视为稳定。对于最新稳定版本,请使用 spring-cloud-stream 5.0.0! |
重置偏移量
应用程序启动时,每个分配分区的初始位置取决于两个属性startOffset和resetOffsets.
如果resetOffsets是false,普通卡夫卡用户自动.offset.reset语义问题是必要的。
即如果绑定的消费者组没有承诺的分区偏移量,则位置为最早或最近的.
默认情况下,带有显式群用最早,以及匿名绑定(没有群) 的使用最近的.
这些默认值可以通过设置startOffset具有约束力的属性。
第一次以特定绑定开始时,不会有承诺的偏移量群.
另一个不存在已承诺偏移量的条件是偏移量已过期。
现代经纪人(自2.1版本起)和默认经纪人属性中,抵消在最后一位成员离开组后7天到期。
参见偏移。留任。分钟数更多信息请咨询经纪房产。
什么时候resetOffsets是true,绑定器应用的语义类似于当中介没有承诺抵消时的语义,仿佛该约束从未从主题中消耗过;即当前承诺的偏移量被忽略。
以下是两种可能使用的用例。
-
从包含键值对的压缩主题中消费。 设置
resetOffsets自true和startOffset自最早;绑定将执行开始在所有新分配的分区上。 -
从包含事件的主题中消费,你只对绑定运行期间发生的事件感兴趣。 设置
resetOffsets自true和startOffset自最近的;绑定将执行seekToEnd在所有新分配的分区上。
| 如果在初始分配后发生重新平衡,寻道任务只会对未在初始分配时分配的新分区进行。 |
关于主题偏移的更多控制,请参见 rebalance listener;当提供听者时,resetOffsets不应设置为true否则,将引发错误。