리밸런싱은 왜 멈추나 (Rebalancing)
컨슈머가 들어오거나 나가면 파티션 배정을 다시 계산해야 합니다. 예전 방식(eager)은 모든 컨슈머가 맡은 것을 일단 전부 반납한 뒤 다시 나눠 갖기 때문에, 바뀔 필요가 없던 파티션까지 그 사이 멈춥니다. cooperative 방식은 옮겨야 할 것만 반납해 나머지는 계속 읽습니다.
01 개념 한눈에 보기
Interactive Step-by-Step컨슈머 둘이 세 줄을 나눠 읽고 있습니다. 여기에 셋째가 합류하려 합니다.
같은 상황입니다. 컨슈머 둘이 읽는 중이고 셋째가 합류하려 합니다.
02 쉽게 이해하기
For Everyone창고 통로를 다시 나눌 때, 전원이 일단 밖으로 나갔다가 다시 들어가는 방식과 자리를 옮겨야 하는 사람만 이동하는 방식의 차이입니다. 앞의 방식은 아무도 일하지 않는 시간이 생깁니다.
eager 리밸런싱은 stop-the-world 입니다.
컨슈머 하나가 추가됐을 뿐인데 전원이 배정을 반납하고 재계산을 기다리므로, 그동안 전체 소비가 멈춥니다.
cooperative(점진적) 리밸런싱은 실제로 주인이 바뀌는 파티션만 회수하고 나머지는 그대로 두어 멈춤을 최소화합니다.
재시작이 잦은 환경일수록 이 차이가 지연으로 크게 드러납니다.
- –배포·오토스케일이 잦은 환경의 파티션 할당 전략 선택
- –리밸런싱 지연 원인 진단
- –session.timeout·max.poll.interval 튜닝
03 자주 묻는 질문
FAQ리밸런싱은 왜 멈추나 (Rebalancing)란 무엇인가요?+
컨슈머가 들어오거나 나가면 파티션 배정을 다시 계산해야 합니다. 예전 방식(eager)은 모든 컨슈머가 맡은 것을 일단 전부 반납한 뒤 다시 나눠 갖기 때문에, 바뀔 필요가 없던 파티션까지 그 사이 멈춥니다. cooperative 방식은 옮겨야 할 것만 반납해 나머지는 계속 읽습니다.
리밸런싱은 왜 멈추나 (Rebalancing)은(는) 어디에 사용하나요?+
배포·오토스케일이 잦은 환경의 파티션 할당 전략 선택, 리밸런싱 지연 원인 진단, session.timeout·max.poll.interval 튜닝
리밸런싱은 왜 멈추나 (Rebalancing)를 쉽게 비유하면?+
창고 통로를 다시 나눌 때, 전원이 일단 밖으로 나갔다가 다시 들어가는 방식과 자리를 옮겨야 하는 사람만 이동하는 방식의 차이입니다. 앞의 방식은 아무도 일하지 않는 시간이 생깁니다.
