我想知道当(使用低级别API(auto commit
关闭并且应用程序不进行显式提交时,kafka流的行为是什么
若应用程序重新启动(自动提交关闭,并且应用程序本身不执行偏移量的显式提交(,应用程序是否总是从头开始读取?应用程序的行为。
Kafka Streams确实基于commit.interval.ms
配置提交偏移量(默认为30秒(。因此,即使您请求提交,提交也会定期发生。一般来说,依赖Kafka Streams的隐式提交就足够了(大多数应用程序不需要显式请求提交(。
Kafka Streams会自动将自动提交设置为禁用。
你的auto.offset.reset
是什么?如果是最新的,那么如果application.id
没有组,它将始终从最新的偏移量开始。流并不特别;这与任何消费者组的逻辑相同。
如果有一个组,则启动一个终端进程(foreach、print、to等(,然后提交偏移量。并且,您可以启用事务处理来获得一次语义。
文档中涵盖了大部分内容。