4.8. 管理偏移策略


使用 auto.offset.reset 属性来控制消费者没有提交偏移时的行为方式,或者提交的偏移不再有效或删除。

假设您首次部署使用者应用,并且从现有的主题读取消息。由于第一次使用 group.id,因此 __consumer_offsets 主题不包含此应用的任何偏移信息。新应用可以开始处理日志开始的所有现有消息,或者仅处理新消息。默认重置值为 latest (从分区末尾开始),因此缺少一些消息。为避免数据丢失,但要增加处理量,将 auto.offset.reset 设置为 earliest 以在分区的头部开始。

另外,请考虑使用 最早 的选项来避免在为代理配置偏移保留周期(offsets.retention.minutes)时丢失消息。如果消费者组或独立消费者不活跃,并在保留期间提交没有偏移,则之前提交的偏移将从 __consumer_offsets 中删除。

# ...
auto.offset.reset=earliest 
1

# ...
Copy to Clipboard Toggle word wrap
1
设置为 earliest 以返回到分区的起始位置,并在未提交偏移时避免数据丢失。

如果在单个获取请求中返回的数据量较大,则在消费者处理数据前可能会出现超时。在这种情况下,您可以降低 max.partition.fetch.bytes 或增加 session.timeout.ms

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat