0

Kafka 설명서에 따라 소비자 구성 enable.auto.commit의 기본값은 true입니다. 그러나 나는 거짓으로 나타납니다.enable.auto.commit 값이 true로 구성되어 있지 않습니다.

내 카프카 스트림 응용 프로그램에서이 값을 true으로 변경하여 props.put(StreamsConfig.consumerPrefix(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG), true)으로 변경하여 자동으로 오프셋을 적용하려고합니다. 그러나 로그에 WARN o.a.k.s.StreamsConfig [main] Unexpected user-specified consumer config: enable.auto.commit found. User setting (true) will be ignored and the Streams default setting (false) will be used 메시지가 표시되고 다시 false로 되돌아갑니다.

이유는 무엇입니까? 도와주세요.

답변

2

카프카 스트림에서는 사용자가 enable.auto.commit을 설정할 수 없습니다. Streams는 자체 자동 커밋 기능을 사용하는 대신 자체 커밋 메커니즘을 사용하여 오프셋을 커밋합니다. 이는 라이브러리가 데이터가 손실되지 않을 것이라는 확신이있는 특정 지점에서만 커밋이 수행되도록 보장하기위한 것입니다.

제어 할 수있는 유일한 커밋 설정은 commit.interval.ms입니다.

+1

또한이 질문에 유의하십시오. https://stackoverflow.com/questions/43416178/how-to-commit-manually-with-kafka-stream –