Confluent kafka REST 代理返回空的提交偏移量

Confluent kafka REST proxy returning empty committed offsets

我正在使用 Confluent REST 代理 v.3.2.0,最近我从 auto.commit.enable=true 切换到 false,所以现在我正在积极获取和提交偏移量。目标是在我每次创建消费者时都依赖提交的偏移量,而不是消耗的偏移量。这背后的原因是,在微服务在消费消息后但在处理消息的过程中崩溃的情况下,我们不要跳过处理消息非常重要。偏移量在使用 POST ==> /consumers/(string: group_name)/instances/(string: instance)/offsets 成功处理后得到更新。对我们来说,重新处理消息不是问题,我们得到相同的结果,因此可以容忍倒带。

问题是我们在对调用的响应中得到空偏移量:GET ==> /consumers/(string: group_name)/instances/(string: instance)/offsets

为什么我会在响应中得到空偏移量,我该如何以编程方式解决此问题?我尝试调用 POST ==> /positions/beginning 但这没有帮助,因为下次尝试时我仍然得到空偏移量。

在默认设置下,偏移量会在 24 小时后过期,因此如果您想在更长时间不活动的情况下保持头寸,则需要增加经纪商 server.properties 配置文件中的 offsets.retention.minutes 参数。

否则,如果偏移量过期,则消费者将根据在 kafka-rest.properties 文件中配置的重置策略参数 auto.offset.reset 的配置,重置到主题的开头或结尾.