auto_commit_interval_ms_config 질문
238
작성한 질문수 43
- 카프카를 공부하시면서 생긴 질문들을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요~
auto_commit_interval_ms_config 에 대해 궁금한 점이 있는데요 찾아봐도 모호해서 질문드립니다.
auto_commit_interval_ms_config = 60
이라고 가정했을때
위 옵션은 poll() 호출 여부와 관계없이 60초 마다 자동으로 커밋을 해주는건가요?
아니면 마지막 자동커밋 발생하고 60초 이후에 poll() 이 호출될때 커밋을 해준다는건가요?
답변 2
1
안녕하세요~
카프카 컨슈머가 오토 커밋으로 설정되어 있을 경우 커밋이 수행되는 시점은 해당 시간이 지난 뒤 poll()이 호출될 때 입니다. 즉, 커밋을 한 뒤 일정 시간이 지나고 time이 expire되면 내부적으로 커밋을 수행하고 그런 뒤에 ConsumerRecords를 반환합니다.
/**
* If auto-commit is enabled, and the auto-commit interval has expired, this will generate and
* enqueue a request to commit all consumed offsets, and will reset the auto-commit timer to the
* interval. The request will be sent on the next call to {@link #poll(long)}.
* <p/>
* If the request completes with a retriable error, this will reset the auto-commit timer with
* the exponential backoff. If it fails with a non-retriable error, no action is taken, so
* the next commit will be generated when the interval expires.
* <p/>
* This will not generate a new commit request if a previous one hasn't received a response.
* In that case, the next auto-commit request will be sent on the next call to poll, after a
* response for the in-flight is received.
*/
public void maybeAutoCommitAsync() {
if (autoCommitEnabled() && autoCommitState.get().shouldAutoCommit()) {
OffsetCommitRequestState requestState = createOffsetCommitRequest(
...생략관련 코드와 주석은 아래 링크에서 확인하실 수 있습니다.
0
안녕하세요, 인프런 AI 인턴입니다.
제공된 정보 중에서 auto_commit_interval_ms_config에 대한 구체적인 언급은 없었습니다. 따라서 Apache Kafka 공식 문서나 기술 문서 등에서 해당 옵션에 대해 추가적으로 조사해 보시는 것이 좋을 것 같습니다.
그러나 일반적인 Kafka 사용자 경험에 비추어 볼 때, auto_commit_interval_ms 옵션은 Kafka 컨슈머의 자동 커밋 간격을 설정하는 것으로, 이는 컨슈머가 poll() 메서드를 호출하여 메시지를 가져온 후, 설정된 시간 간격마다 자동으로 offset을 커밋해주는 방식으로 동작합니다. 즉, 마지막 자동 커밋 이후 설정된 시간(여기서는 60초)이 경과하고 나서 다음 poll() 호출시에 커밋이 실행됩니다. poll() 호출의 주기나 처리 시간에 따라 실제 커밋이 발생하는 시점은 설정 시간보다 늦어질 수 있습니다.
카프카를 공부하시는 동안 나오는 다양한 설정값들의 작동 원리를 파악하는 것은 매우 중요합니다. Kafka 공식 문서에서는 다양한 설정 옵션들과 그 사용법에 대해 자세히 설명하고 있으니 참고하시면 도움이 될 것입니다.
consume 이후 lag가 줄어들지 않음
0
75
2
안녕하세요. 강의의 카프카 버전과 현재 시점의 카프카의 차이점 문의 드립니다.
0
118
2
멱등성 프로듀서 retries 관련 질문입니다.
0
99
2
채팅 서비스 개발 시 주의점이 있을까요?
0
100
2
충분히 큰 파티션 생성시 궁금증이 존재합니다.
0
88
2
KTable 키가 없는 레코드 처리
0
73
2
컨슈머 테스트 코드 작성
0
94
2
리밸런스 onPartitionRevoked이 필요한 상황
0
74
2
카프카 클러스터에서 감당 가능한 파티션(레플리카) 수 문의
0
120
2
reset offset 질문
0
77
2
KStreamJoinKTable 실행시 오류
0
78
2
auto.commit.interval.ms 옵션 관련 질문 드립니다.
0
142
2
파티션, 컨슈머 그룹, 컨슈머 관련 질문
0
117
1
java, kotlin
0
130
2
shutdownThread 에 대한 문의 입니다.
0
155
2
zookeeper실행시 오류가 발생합니다.
0
271
2
커스텀 소스 커넥터에서 Thread.sleep (1000) 은 왜 하는거에요?
0
153
2
처리량을 늘리기 위해서 파티션을 늘리고 컨슈머를 늘려야한다고 설명하셨는데요
0
181
3
파티션 개수와 컨슈머 개수의 처리량 관련 질문
0
164
2
동영상 및 이미지 처리 관련 문의 드립니다.
0
226
2
주키퍼 없이 사용 문의 드립니다.
0
303
1
kafka 를 띄우니 오류가 발생하고 종료합니다.
0
281
3
zookeeper 실행시 오류 .. 무엇을 해야 할까요?
0
220
2
파티션 추가로 해결할 수 있지만 늘어난 파티션은 줄일 수 없지 않나요?
0
192
2





