kafka流应用的行为,当应用没有进行偏移提交时(自动提交关闭)。

问题描述 投票:0回答:2

我想知道当(使用低级API)时,kafka流的行为会是什么?auto commit 被关闭和 应用程序不做显式提交?

如果应用程序重启(自动提交关闭,应用程序本身不做显式提交),应用程序会一直从头开始读吗?应用程序的行为是什么。

apache-kafka apache-kafka-streams
2个回答
2
投票

Kafka流的提交偏移是基于什么?commit.interval.ms 配置(默认为30秒)。因此,即使你请求提交,提交也会定期发生。一般来说,依靠Kafka Streams的隐式提交就足够了(对于大多数应用来说,显式请求提交没有必要)。


2
投票

Kafka Streams会自动将自动提交设置为禁用。

你是什么 auto.offset.reset? 如果是最新的,那么如果没有分组,它将总是从最新的偏移量开始。application.id. Streams并不特别,这和当初的逻辑一样。任何 消费者组。

如果有一个组,那么你启动一个终端处理(foreach、print、to等),那么偏移就会被提交。而且你可以启用事务性处理来获得精确的一次语义。


大部分的内容在文档中都有介绍。

© www.soinside.com 2019 - 2024. All rights reserved.