728x90
auto.offset.reset

- Consumer가 Topic에 처음 접속하여 메시지를 가져올 때 가장 오래된 처음 offset (earliest)부터 가져올 것인지, 가장 최근인 마지막 offset(latest) 이후부터 가져올 것인지를 설정하는 파라미터
- auto.offset.reset = 처음 offset(earliest)부터 읽음
- auto.offset.reset = 처음 offset(earliest) 부터 읽음
- 동일 Consumer Group으로 Consumer가 새롭게 접속할 시, __consumer_offsets에 있는 offset 정보를 기반으로 메시지를 가져오기 때문에 earliest로 설정하여도, 0번 offset부터 읽어 들이지 않음
- Consumer Group의 Consumer가 모두 종료되어도, Consumer Group이 읽어들인 offset 정보는 7일 동안 __consumer_offsets에 저장되어 있다(offsets.retention.minutes)
- 해당 Topic이 삭제되고 재생성될 경우에는 해당 Topic에 대한 Consumer Group의 offset 정보는 0으로 __consumer_offsets으로 기록된다.
실습하기
1. 기존 Topic 삭제 후 생성
kafka-topics --bootstrap-server localhost:9092 --delete --topic simple-topic
kafka-topics --bootstrap-server localhost:9092 --create --topic simple-topic
2. Producer 생성 후 메시지 전송
kafka-console-producer --bootstrap-server localhost:9092 --topic simple-topic
> a
> b
> c
3. Application을 실행하여, offset 정보를 확인한다.
- 이떄는 Topic이 지워졌기 때문에 __consumer_offsets 정보가 없다.
- auto.offset.reset = ealiest 일 경우 0번부터 읽는다.
- auto.offset.reset = latest(기본값)일 경우 마지막 offset부터 읽는다.
728x90
'카프카 > Java 기반 카프카 클라이언트 구현, Consumer 내부 메커니즘 1' 카테고리의 다른 글
| Group Cordinator와 Consumer의 Rebalance 상세 메커니즘 (0) | 2025.10.18 |
|---|---|
| Consumer의 읽기 Commit 이해 (0) | 2025.10.06 |
| wakeup을 이용한 Consumer 효과적 종료 (0) | 2025.10.06 |
| Consumer Fetcher 관련 주요 파라미터와 메커니즘 이해 (0) | 2025.10.06 |
| KafkaConsumer 주요 구성 요소와 Poll() 메소드 (0) | 2025.10.06 |