작성
·
5
0
안녕하세요.
Cooperative Sticky Rebalancing할 때
컨슈머 3만 reassign rebalance된다고 하셨습니다.
궁금한건 컨슈머 1 2에서 topic A, B / Partion 1 2 각각 총 4개는 유지된다고 하셨는데
이떄 poll은 계속 동작하고 있는건지 궁금합니다.
즉, 3이 죽고 이걸 새로 붙이는 컨슈머 1 2에 있는 모든 토픽과 모든 파티션에 poll이 정지되나요?
아니면 같은 토픽 컨슈머만 정지되나요?
(여기선 A P1이 있어고 A에 P3가 붙으므로
P1이 P3를 위한 assign rebalance 때문에 컨슈머 1 A 토픽 poll 전체 정지)
reassign rebalance: 부분 할당
rebalance: 전체 할당
으로 이해하면 되는지도 궁금합니다.
감사합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. HAHA님.
Cooperative Sticky Rebalancing에 관련된 질문을 주셨네요. 이 방법은 Kafka의 소비자 그룹 내에서 리밸런싱에 의한 데이터 처리 중단을 최소화하기 위해 사용됩니다.
원래 리밸런싱 알고리즘에서는 소비자 그룹 내의 모든 소비자가 다시 할당을 받는 반면, Cooperative Sticky Rebalancing에서는 더 효율적인 리밸런스를 위해 파티션 할당을 가능한 유지하려고 노력합니다. 즉, 필요에 의해서만 변경이 발생합니다.
poll 동작 여부: Cooperative Sticky 방식에서는 리밸런스가 일어날 때도 일부 컨슈머의 특정 파티션에 대해서는 여전히 poll이 지속적으로 작동할 수 있습니다. 즉, 컨슈머의 일부 파티션이 리밸런스의 영향을 받아 재할당되지만, 모든 파티션이 영향을 받지는 않습니다. 리밸런스가 일어나는 동안에도 컨슈머 1과 2의 일부 파티션에 대한 poll은 계속 진행됩니다.
전체 vs 부분 할당: 질문에서 언급하신 “reassign rebalance”와 “rebalance”를 ‘부분 할당’과 ‘전체 할당’으로 구분한 것은 맞습니다. Cooperative Sticky Rebalancing은 부분 할당에 해당하며, 필요할 때만 소수의 파티션을 재할당하여 리밸런스라는 부담을 줄입니다.
또한 관련 내용에 대해 더 자세히 이해하고 싶다면, 다음 링크를 참고해 보시기 바랍니다:
이 답변이 도움이 되시길 바랍니다. 만약 추가적인 질문이 있으시다면, 주저하지 마시고 문의해 주세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.