🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

콘솔에서 컨슈머 생성

23.08.12 03:17 작성 조회수 211

0

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

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

답변 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 이후 부터 읽어 들이게 됩니다.

     

감사합니다.

 

채널톡 아이콘