강의

멘토링

커뮤니티

Inflearn Community Q&A

ohk91348014's profile image
ohk91348014

asked

Kafka Complete Guide - Core

Check Consumer Group, Consumer, and Lag information with the kafka-consumer-groups command

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

Written on

·

86

0

kafka-consumer-groups 명령어로 Consumer Group과 Consumer, Lag 정보 확인하기 강의 듣다가 질문이 생겼습니다!

 

메시지 2000개를 Consumer가 없는 상황에서 전송을 한 상황에서 질문이 있습니다.

 

이전 강의에서 파티션별로 Consumer가 할당되어 메시지를 Consume 한다고 이해 했는데요.

 

이러한 원리일 때 2000개의 메시지가 들어온다면

Lag이 파티션별로 골고루 2000개가 분배되거나 총합이 2000개일 것이라고 생각했습니다.

 

그런데 파티션 3개 각각 1300개의 Lag이 있는 것을 확인할 수 있었는데 어떤 이유에서 약 1300개가 나온 것인지 궁금합니다!

kafka데이터-엔지니어링

Answer 2

0

dooleyz3525님의 프로필 이미지
dooleyz3525
Instructor

안녕하십니까,

2000건을 보내고, 2000건을 아직 읽지 않았으면, 2000건이 있는게 맞습니다. 하지만, 적어주신 글 자체로는 어떻게 메시지를 2000건을 보내신건지, 2000건이 맞게 간 건지, 1300건이 lag로 어떻게 되어 있는지 확인할 수 없군요.

. 제 생각엔 2000건이 제대로 간 건지 다시 확인해 보시면 어떨까 싶습니다만, 어쩧든, 2000건을 보내신 utility 명령어등으로 2000건이 명확히 보내진 스크린 캡처와, 1300건이 lag로 되어 있는 스크린 캡처를 여기에 올려봐 주시면 제가 상황을 판단하는데 도움이 될 것 같습니다.

감사합니다.

ohk9134님의 프로필 이미지
ohk9134
Questioner

안녕하세요 철민님! 답변 감사드립니다!

질문드린 상황은 강의 속 철민님이 진행하신 실습 화면을 보고 질문을 드린 것이었습니다!

 

실습 스크립트에 있는

kafka-console-producer --bootstrap-server localhost:9092 --topic multipart-topic < load.log 으로 2000개의 메시지를 보내고 나서

--describe 로 Consumer Group 정보를 확인할 때 다음과 같이 Lag이 1300개씩 있는 강의 화면에 나온 것을 보고 질문드렸었습니다!

(강의 약 10분 30초)

 

스크린샷 2025-05-05 15.13.51.png

 

 

dooleyz3525님의 프로필 이미지
dooleyz3525
Instructor

앗, 그러셨군요.

강의 영상은 사실 제가 실습 코드를 제가 미리 테스트 해보면서 offset 값이 어느 정도 계속 증가된 상태인데, 이게 영상으로 편집이 돼버려서 그렇게 느끼실 수 있을 것 같습니다. 그러니까 영상 찍기 전에 keyload 2000건을 1번 정도 테스트 용도로 수행하면서 이미 약 2000건의 데이터가 들어가 있고, 여기에 다시 2000건을 입력하였기에 총 4000건이 들어가버린 상태로 보시기에 3개 파티션에 각각 1300여건 정도로 LAG가 잡혀 있는 걸로 보여지게 되어 있습니다.

하지만 강의 영상대로 그대로 실습 코드를 수행하시게 되면 2000건의 데이터가 3개 파티션에 650~ 690개 정도로 나뉘어져 들어갑니다. 아래는 제가 2000건의 keyload.log 를 수행한 결과 입니다. 692, 656, 660 건이 각 Lag로 표시됩니다. 각각을 더해서 정확하게 2000건이 안되는 이유는 제가 테스트 용으로 몇 건을 미리 테스트 했기 때문입니다.

 

console_consumer.png.webp

날카로운 지적 감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. ohk9134님.

질문 주신 Kafka의 Consumer Group과 메시지 Lag에 관한 내용은 많은 Kafka 사용자들이 궁금해 하는 주제 중 하나입니다. 파티션에 메시지가 분배되는 방식은 여러 가지 요소에 의해 결정됩니다. Kafka는 기본적으로 라운드 로빈 방식으로 데이터를 각 파티션에 분배하지 않고, 메시지 키를 기반으로 해시를 사용하여 지정된 파티션에 메시지를 배치합니다.

강의에서 설명하는 바와 같이, 메시지가 특정 방식으로 파티션에 분배된다면 메시지의 키값 또는 파티셔너 설정에 따라 각 파티션에 할당된 메시지가 다를 수 있습니다. 따라서, 메시지의 라그(Lag)는 파티션별로 균등하지 않을 수 있습니다.

특히, 파티션 수가 메시지 수와 나누어 떨어지지 않는 경우, 각 파티션에 분배되는 메시지가 일정하지 않아 Lag이 고르게 나타나지 않을 수 있습니다.

아래에 유사한 질문들이 있어 링크를 공유해 드리오니 참고하시기 바랍니다:

  1. “consumer group 과 topic의 관계가 궁급합니다.”
  2. “콘솔에서 컨슈머 생성”

이 두 게시물을 통해 추가적으로 Consumer와 파티션, 그리고 메시지 라그에 대한 이해를 깊게 하실 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

ohk91348014's profile image
ohk91348014

asked

Ask a question