inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

카프카 완벽 가이드 - 코어편

Consumer와 auto.offset.reset의 내부 동작 메커니즘 상세 이해

콘솔에서 컨슈머 생성

306

정성훈

작성한 질문수 31

0

  1. 토픽을 구독하는 컨슈머를 콘솔에서 생성하면, 생성하는 컨슈머마다 항상 새로운 그룹이 만들어지게 되는거고 해당 토픽에 내부 파티션인 __consumer_offset가 생성된 컨슈머의 수만큼 만들어지는게 맞나요?

  2. 자바의 KafkaConsumer 를 사용할때 이미 존재하는 컨슈머 그룹에 참여한다면, 토픽에는 해당 컨슈머 그룹에 대한 정보인 __consumer_offset이 이미 존재하고 컨슈머에서 이 값을 읽어오니 earlist로 설정해도 0번 인덱스 레코드부터 읽는게 아닌 __consumer_offset에서 offset 값을 그대로 읽어와 사용하는게 맞나요?

kafka 데이터-엔지니어링

답변 1

0

권 철민

안녕하십니까,

  1. "__consumer_offset가 생성된 컨슈머의 수만큼 만들어지는게 맞나요" 라는 질문을 이해하지 못했습니다. 뭐가 만들어 지는데 좀더 자세한 설명 부탁드립니다만,,,

    먼저 개괄적으로 말씀드리면
    __consumer_offsets 내부 topic은 Consumer Group만 기록하지, Consumer는 기록하지 않습니다. Consumer의 subscribe, poll, commit 로직에 대한 강의 영상을 다시 한번 들으시면 좋을 것 같습니다.

    그리고 말씀하신대로 console에서 consumer를 생성하면 무조건 새로운 consumer group을 생성합니다.

 

  1. 네, 맞습니다. auto.offset.reset=earliest는 해당 consumer group 이 읽는 토픽이 __consumer_offset에 없을 때 해당 topic의 처음 부터 읽을 것을 지정하는 것입니다. 만약 해당 consumer_group이 __consumer_offsets에 읽으려는 topic의 offset이 기록되어 있으면 auto.offset.reset 여부와 관계없이 __consumer_offsets에 있는 offset 이후 부터 읽어 들이게 됩니다.

     

감사합니다.

 

virtual box 설치 문제

0

60

2

카프카 서버 구축 관련 문의

0

66

2

카프카 토픽 Key 타입 변경에 관한 질문

0

70

2

Zookeeper에서 KRaft

0

78

1

카프카 학습과 관련하여 질문 드립니다

0

97

2

파티션 증가시 비용 증가 고려

0

71

2

Kafka 초기 Partition 개수 설정 관련 질문

0

82

2

VM 과 도커의 차이

0

139

2

vm 어댑터설정 문의

0

78

2

Cooperative Sticky Rebalancing 질문

0

58

2

consumer 설정 질문

0

68

2

consumer.poll 질문입니다.

1

69

2

mainThread.join() 관련 질문

0

57

2

문의

0

153

2

멀티 브로커 설정 중 포트 충돌 발생

0

120

2

Consumer Group 강의 Lag 질문있습니다!

0

107

2

강의 설명 및 코드 정리

0

174

2

실습 코드는 어디서 받나요.. 아무리 찾아도 엄네요..

0

151

1

java.nio.BufferUnderflowException 에러 발생합니다..

0

156

3

KafkaTimeoutError:

0

157

2

acks 1 이면 비동기가 아니지 않나요?!

0

184

2

Producer의 메시지 비동기화 전송 구현 강좌 내용 중 질문

0

109

2

자문자답: 데이터 누락된다고 하시는 분 참고하세요.

0

215

2

자문자답: kafka Error connecting to node utuntu-20.myguest.virtualbox.org:9092

0

200

2