Kafka 컨슈머 리밸런싱, 언제 일어나나
개인 공부2026년 9월 11일
컨슈머 그룹은 파티션을 나눠 갖는다. 그 배분이 다시 계산되는 순간을 리밸런싱이라 부른다.
리밸런싱이 걸리는 순간
- 컨슈머가 그룹에 새로 들어오거나 나갈 때
session.timeout.ms안에 하트비트가 안 올 때max.poll.interval.ms를 넘겨 poll 이 안 돌아올 때- 토픽 파티션 수가 늘어날 때
세 번째가 자주 발목을 잡는다. 처리 로직이 느려지면 poll 간격이 벌어지고, 브로커는 그 컨슈머가 죽었다고 보고 파티션을 회수한다. 처리량 문제가 연결 문제처럼 보이는 이유다.
확인할 값
| 설정 | 기본값 | 의미 |
|---|---|---|
session.timeout.ms |
45s | 하트비트가 끊겼다고 볼 때까지 |
heartbeat.interval.ms |
3s | 하트비트 주기 |
max.poll.interval.ms |
5m | poll 사이 허용 간격 |
한 번에 가져오는 레코드 수(max.poll.records)를 줄이면 poll 주기가 짧아진다. 타임아웃을 늘리기 전에 이쪽을 먼저 본다.