일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 파라매틱서치
- 전역에러처리
- Kafka
- 23289
- Docer
- 코드리뷰를꼼꼼히하자
- BOJ
- Java
- node-cron
- Bitwise AND
- macrotask
- 25635
- graceful shutdown
- 1781
- eventLoop
- firebase functions deploy limit
- 25186
- 20309
- nextTick
- promise.race
- PS
- 백준
- node.js
- 귀납적증명
- microtask
- 23560
- firebase functions
- hash
- 알고리즘
- ad-hoc
- Today
- Total
목록Kafka (2)
웰제오의 개발 블로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ckbBWU/btrPRB903wE/sQsLaNYk9jyEUy37a7xcI1/img.png)
카프카의 group coordinator 는 현재 그룹에 속해있는 컨슈머들의 상태가 유효한지 계속 확인하며, 리밸런싱을 통해 그룹내에 속한 모든 컨슈머들이 유효성을 보장한다. 만약 카프카가 컨슈머들이 살았는지 죽었는지 확인을 안한다면, 죽어있는 컨슈머가 group 파티션을 계속 잡고있게 되며, 해당 파티션의 record 들이 consume 되지 않는 상황이 발생하므로, 카프카는 주기적으로 컨슈머의 생존여부를 확인해, 죽었다고 판단되는 컨슈머를 group 에서 쫓아내고, 리밸런싱을 통해 이전 컨슈머에게 할당된 파티션을 그룹내의 다른 컨슈머에게 할당해주어야 한다. 카프카는 컨슈머가 죽었다고 판단하는 경우가 두가지가 있는데 (connections.max.idle.ms 설정도 존재하지만 제외하고 얘기하겠다) 이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bkfmaC/btrNzFaD9yZ/SM4gNdk4UzQRI5SaT6qUMK/img.jpg)
Kafka 에서는 쉘스크립트를 통해 다양한 Kafka 리소스들을 CLI 를 통해 제어할 수 있게 도와준다. kafka-consumer-groups.sh 는, Kafka CLI 중 group 관련된 리소스 제어를 제공해주는 쉘 스크립트 인데, --describe 옵션을 통해 group-id, topic, partition, offset, lag 과 같은 정보들을 제공해주며, Kafka 의 운영 및 모니터링에 있어서 정말 많이 사용하는 스크립트 이고, 필자도 Kafka 관련 이슈가 발생하면 제일 먼저 해당 스크립트를 찾았었다 // 실행 예시 // ./kafka-consumer-groups.sh --bootstrap-server {BOOTSTRAP_SERVER} --describe --group {GROUP_..