본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://bit.ly/4hTSJNB
I. 학습 인증샷 4장 이상 포함
1. 공부시작: 날짜, 시각 다 나오도록
2. 공부 종료: 날짜 시각 다 나오도록
3. 1개 클립 수강 (강의장 목록 캡쳐, 수강화면이 보이지 않도록) 1장
4. 학습 인증샷 1장(필기 촬영이나 작업물 촬영)
II. 학습 후기 700자 이상 (공백 제외)
Consumer Rebalance에 대한 심화 학습이다..
요약
- Consumer의 동작 방식:
- Partition에서 메시지를 polling하고 offset 정보를 관리
- 이전 기본 개념 다시 되짚어 보는 시간
- Consumer Group:
- 동일한 group.id로 구성된 Consumer들이 하나의 그룹을 형성하여 작업량을 분할
- 컨슈머 그룹의 컨슈머들이 작업량을 어느 정도 균등하게 분할하기에 자동으로 로드발란싱 효과가 이루어진다.
- 동일한 토픽에서 컨슘하는 여러 컨슈머 그룹이 있을 수 있으며 각각 독립적으로 작동한다
- Partition Assignment:
- 파티션을 컨슈머에 할당하는 전제조건
- 하나의 파티션은 지정된 컨슈머 그룹내의 하나의 컨슈머만 사용
- 동일한 키를 가진 메시지는 동일한 컨슈머가 사용(파티션 수를 변경하지 않는 한)
- 컨슈머의 파라미터중에 `partition.assignment.strategy`로 할당 방식 조정
- 컨슈머 그룹은 그룹 코디네이터라는 프로세스에 의해 관리된다
- 파티션을 컨슈머에 할당하는 전제조건
- Consumer Group Coordination:
- Group Coordinator와 Group Leader의 역할을 설명한다
- 그룹 코디네이터 선택 방법
- 위에서 말했듯 각 컨슈머는 `group.id`로 카프카 클러스터에 자신을 등록
- 카프카는 컨슈머 그룹을 만들고 컨슈머의 모든 offset은 컨슈머 offset topic의 하나의 파티션에 저장된다.
- 이 파티션의 리더 브로커는 컨슈머 그룹의 그룹 코디네이터로 선택
왜 그룹 코디네이터가 직접 파티션을 할당하지 않는가?
- 카프카의 설계 원칙
- 가능한 한 많은 계산을 클라이언트로 수행하도록
- 브로커의 부담을 줄이는 것
- 본연의 업무 집중
이번에는 그룹 Consumer Group Coordination에 대해 배우는게 핵심인 것 같다.
Group Coordinator와 Group Leader가 서로 협력하여 Consumer들에게 Partition을 할당하는 과정이 흥미롭다. 특히 Group Leader가 Partition 할당을 담당한다는 점을 기억하자. 그리고 카프카가 이렇게 클라이언트에게 많은 역할을 위임하는 이유가 Broker의 부담을 줄이기 위해서라는 설명도 납득이 가고 감탄한 부분이다..
Rebalancing에 대한 설명도 매우 좋았다..하지만 불필요한 Rebalancing을 피하는 조건이 너무 까다로운 것 같아 보인다.
Consumer가 그룹에 들어오거나 나가는 등의 변화가 있을 때 Rebalancing이 일어난다는 점을 인지 했고,
그리고 이 과정에서 일시적으로 메시지 처리가 중단될 수 있다는 점을 알게 되서 중요한 고민 포인트임을 인지했다..
Consumer Heartbeats 개념도 보면서 지금 업무에 어떻게 응용할 수 있는지 조금 떠올랐다.
마지막으로, 과도한 Rebalancing을 피하는 방법들을 배웠는데, 엄청 조건이 어렵다.
이 부분은 실제로 적용해보고 싶은데... 특히 Consumer Group 멤버를 고정하는 방법이나 여러 타임아웃 설정을 조정하는 방법들이 궁금하다
'패캠챌린지 > Kafka EcoSystem - 진행중' 카테고리의 다른 글
패스트캠퍼스 환급챌린지 17일차 : 한번에 끝내는 KafkaEcosystem 강의 후기 (0) | 2025.03.21 |
---|---|
패스트캠퍼스 환급챌린지 16일차 : 한번에 끝내는 KafkaEcosystem 강의 후기 (0) | 2025.03.20 |
패스트캠퍼스 환급챌린지 14일차 : 한번에 끝내는 KafkaEcosystem 강의 후기 (0) | 2025.03.18 |
패스트캠퍼스 환급챌린지 13일차 : 한번에 끝내는 KafkaEcosystem 강의 후기 (0) | 2025.03.17 |
패스트캠퍼스 환급챌린지 12일차 : 한번에 끝내는 KafkaEcosystem 강의 후기 (0) | 2025.03.16 |