程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了我应该将 Kafka auto.offset.reset 设置为最早还是最晚?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决我应该将 Kafka auto.offset.reset 设置为最早还是最晚??

开发过程中遇到我应该将 Kafka auto.offset.reset 设置为最早还是最晚?的问题如何解决?下面主要结合日常开发的经验,给出你关于我应该将 Kafka auto.offset.reset 设置为最早还是最晚?的解决方法建议,希望对你解决我应该将 Kafka auto.offset.reset 设置为最早还是最晚?有所启发或帮助;

我有一个位于 K8 中的 Spring Kafka Consumer 应用程序。有时应用程序会被回收/重新启动。当消费者重新启动时,我希望它消耗在回收时产生的所有消息。我尝试了 auto.offset.rest=earlIEst 并且它按预期工作,但我注意到 kafka 的默认值是最新的。

如果我最早使用会带来哪些风险?在什么情况下我最早使用最新的v.s?我试图在这里找到一个帖子,通过一个场景来解释它,但其中大部分是从一些文档中复制粘贴的,而不是现实生活中的例子。

解决方法

该属性仅适用于代理没有为组/主题/分区提交偏移量的情况。

即应用程序第一次运行或偏移量到期(对于现代经纪人,默认到期时间是消费者未运行 7 天 - 最后一个消费者离开组后的 7 天)。对于较旧的经纪人,抵消会更早到期 - 即使消费者仍在运行,但没有收到任何东西。当前行为始于 2.1,IIRC。

当已经有一个提交的偏移量时,该偏移量用于起始位置,忽略该属性。

对于大多数用例,使用 earliest正如您所说,latest 是默认值,这意味着“新”消费者将在最后开始并且不会获得任何记录主题。

所以“风险”是,如果您一周不运行您的应用程序,您将再次获得任何未过期的记录。您可以增加 offset.retention.minutes 以避免这种情况。

大佬总结

以上是大佬教程为你收集整理的我应该将 Kafka auto.offset.reset 设置为最早还是最晚?全部内容,希望文章能够帮你解决我应该将 Kafka auto.offset.reset 设置为最早还是最晚?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。