Apache kafka 卡夫卡:在主题创建时显式指定非零初始偏移量

Apache kafka 卡夫卡:在主题创建时显式指定非零初始偏移量,apache-kafka,Apache Kafka,创建新kafka主题时,是否有任何方法将其所有分区的最小偏移量设置为大于0的值?如果没有直接的方法,是否有可能通过直接操纵卡夫卡内部偏移量的间接方法 以不同的方式询问,如何实现一个函数createTopic(“foo”,41000),该函数创建一个名为“foo”的新主题,由4个分区组成,其中每个分区生成的第一条消息将获得偏移量1000(而不是0),第二条1001,等等…好吧,没有办法做到这一点,但问题是你想用它实现什么? 我猜您正试图使用偏移量作为消息的唯一标识符,是吗?为什么不使用键呢?事实上

创建新kafka主题时,是否有任何方法将其所有分区的最小偏移量设置为大于0的值?如果没有直接的方法,是否有可能通过直接操纵卡夫卡内部偏移量的间接方法


以不同的方式询问,如何实现一个函数
createTopic(“foo”,41000)
,该函数创建一个名为“foo”的新主题,由4个分区组成,其中每个分区生成的第一条消息将获得偏移量1000(而不是0),第二条1001,等等…

好吧,没有办法做到这一点,但问题是你想用它实现什么?
我猜您正试图使用偏移量作为消息的唯一标识符,是吗?为什么不使用键呢?

事实上,我想使用偏移量来表示单调递增的数字消息id(特别是在单分区情况下)。这样可以有效地监控下游的进度。另外,为消息分配密钥需要我自己提供一个id/密钥(例如,通过zookeeper),这是实现开销。创建具有自定义偏移量的主题的原因是,如果eclatant失败(这可能会强制删除主题),可以简单地重新创建主题,从足够高的偏移量开始,以便在不重新分配以前使用的ID的情况下安全地继续处理。