본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://bit.ly/4hTSJNB
I. 학습 인증샷 4장 이상 포함
1. 공부시작: 날짜, 시각 다 나오도록

2. 공부 종료: 날짜 시각 다 나오도록

3. 1개 클립 수강 (강의장 목록 캡쳐, 수강화면이 보이지 않도록) 1장

4. 학습 인증샷 1장(필기 촬영이나 작업물 촬영)

II. 학습 후기 700자 이상 (공백 제외)
또 튜닝.. 마지막이다... 진짜..Consumer 튜닝에 대한 내용이다.
- Kafka Consumer Group의 병렬 처리를 최적화하는 방법을 설명한다
- 각 Partition은 특정 Consumer Group의 단일 Consumer에 의해서만 소비된다
- Consumer는 Topic내의 다수의 Partition들을 Consume할 수 있다
- Partition Assignment Strategy에 따라 어떤 Partition이 어떤 Consumer에게 할당되는지가 결정된다
- Strategy 종류
- Range
- RoundRobin
- Sticky
- CooperativeSticky
- Custom
- 하나의 Consumer Group에 둘 이상의 Consumer들을 추가하여 Consume 작업을 병렬화 할 수 있습니다.
- Consumer Liveness
- 각 Consumer는 전용 Thread를 통해 Group Coordinator(Broker)에게 주기적인 Liveness Signal를 보냄
- session.timeout.ms 이상 Liveness Signal 이 수신되지 않으면
- Consumer는 죽은 것으로 간주
- Group Coordinator는 Partition 재할당을 Trigger
- 나머지 Consumer Group 구성원에 대한 Partition 할당 계산은 Group Leader에게 위임
- 그런 다음 Group Coordinator는 Group의 각 Consumer에게 새 Partition 할당을 전달
- heartbeat.interval.ms
- 두 개의 연속 하트비트 신호 사이의 간격이 얼마나 긴지 정의
- Consumer의 Liveness Thread가 여전히 작동하지만,
데이터에 대한 Polling을 수행하는 Main Thread가 ”hang”이 걸려서 max.poll.interval.ms 을 초과하면
해당 Consumer는 죽은 것으로 간주 - Group Coordinator 가 Partition 재할당을 Trigger합니다.
- Consumer Group Join/Leave:
- Consumer가 그룹에 Join하거나 Leave할 때 발생하는 Rebalancing 과정과 Group Coordinator의 역할 설명.
---
- Apache Kafka에 대한 첫걸음을 떼기 위해 이 강의를 구매했는데....
- 처음에는 이론부터 알려줘서 좋은데.. 현재 튜닝과 최적화까지 이론으로 계속 접하니... 이제 이게 맞는지 아리송하다..
- 일단 Consumer 튜닝과 관련된 다양한 설정 옵션을 설명하는 강의이다.
- 병렬 처리 최대화에 대한 내용은 심플하지만 명확한 지침을 주고 있다
- 각 Partition은 특정 Consumer Group의 단일 Consumer에 의해서만 소비된다
- Consumer는 Topic내의 다수의 Partition들을 Consume할 수 있다
- 이 2가지의 명제는 변하지 않는다.opic의 Partition 수보다 Consumer가 많으면 일부 Consumer가 Idle 상태로 남는다는 점이 앞선 강의부터 계속 반복된다.
- Offset Commit 전략은 Kafka가 얼마나 유연한 시스템인지(그리고 공부하기 얼마나 그지 같은지) 느끼게 해준 부분이다
- Auto Commit은 간단하지만 중복 처리 가능성이 있고,
- Manual Commit은 복잡하지만 더 정교한 제어가 가능하다
- 특히 commitSync()와 commitAsync()의 차이를 배우며 상황에 맞게 설정을 조정해야 한다는 점이
미치게 한다( 상황에 맞게 설정을 그러니까 어떻게) - Partition 개수를 몇 개로 설정하는 것이 이상적일까?
- 강의에서는 Broker 수와 Consumer 수를 고려하라고 했지만,
실제로 어떤 기준으로 결정해야 하는지 더 구체적인 사례를 절대 주지 않는다
- 강의에서는 Broker 수와 Consumer 수를 고려하라고 했지만,
- Fetch Request에서 fetch.min.bytes와 fetch.max.wait.ms를 조정할 때,
Latency와 Throughput 간의 균형점을 어떻게 찾아야 하는가?- 삽질 안하도록 구체적인 가이드를 줬으면 좋겠다...
- 하지만 주지 않는다 ㅠ
'패캠챌린지 > Kafka EcoSystem - 진행중' 카테고리의 다른 글
패스트캠퍼스 환급챌린지 32일차 : 한번에 끝내는 KafkaEcosystem 강의 후기 (0) | 2025.04.05 |
---|---|
패스트캠퍼스 환급챌린지 31일차 : 한번에 끝내는 KafkaEcosystem 강의 후기 (0) | 2025.04.04 |
패스트캠퍼스 환급챌린지 29일차 : 한번에 끝내는 KafkaEcosystem 강의 후기 (0) | 2025.04.02 |
패스트캠퍼스 환급챌린지 28일차 : 한번에 끝내는 KafkaEcosystem 강의 후기 (0) | 2025.04.01 |
패스트캠퍼스 환급챌린지 27일차 : 한번에 끝내는 KafkaEcosystem 강의 후기 (0) | 2025.03.31 |