Oh My Algorithm
Concept Guideeager · cooperative

리밸런싱은 왜 멈추나 (Rebalancing)

컨슈머가 들어오거나 나가면 파티션 배정을 다시 계산해야 합니다. 예전 방식(eager)은 모든 컨슈머가 맡은 것을 일단 전부 반납한 뒤 다시 나눠 갖기 때문에, 바뀔 필요가 없던 파티션까지 그 사이 멈춥니다. cooperative 방식은 옮겨야 할 것만 반납해 나머지는 계속 읽습니다.

01 개념 한눈에 보기

Interactive Step-by-Step
eager · 전원이 반납하고 다시 나눈다
← 먼저 온 이벤트 · 나중에 온 이벤트 →
파티션 0
🔑로그인
🛒장바구니
💳결제
01234
👤 consumer-1
파티션 1
👀상품 조회
🔍검색
01234
👤 consumer-1
파티션 2
🚪로그아웃
🔁재구매
01234
👤 consumer-2
지금은 모두 정상적으로 읽는 중입니다

컨슈머 둘이 세 줄을 나눠 읽고 있습니다. 여기에 셋째가 합류하려 합니다.

Logic Node1 / 5
cooperative · 옮길 것만 반납한다
← 먼저 온 이벤트 · 나중에 온 이벤트 →
파티션 0
🔑로그인
🛒장바구니
💳결제
01234
👤 consumer-1
파티션 1
👀상품 조회
🔍검색
01234
👤 consumer-1
파티션 2
🚪로그아웃
🔁재구매
01234
👤 consumer-2
지금은 모두 정상적으로 읽는 중입니다

같은 상황입니다. 컨슈머 둘이 읽는 중이고 셋째가 합류하려 합니다.

Logic Node1 / 5

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)를 쉽게 비유하면?+

창고 통로를 다시 나눌 때, 전원이 일단 밖으로 나갔다가 다시 들어가는 방식과 자리를 옮겨야 하는 사람만 이동하는 방식의 차이입니다. 앞의 방식은 아무도 일하지 않는 시간이 생깁니다.

Guide Progress0%