Confluent Self-Balancing 클러스터
이전에 Kafka 클러스터를 관리했다면 수동으로 파티션을 다른 브로커에 재할당하여 클러스터 전체에서 워크로드가 균형 있게 조정되도록 하는 데 따르는 문제에 익숙할 것입니다. Kafka가 대규모로 구축된 조직의 경우 대량의 데이터를 개각하는 일은 까다롭고 번거로우며 위험할 수 있습니다. 특히 클러스터 위에 미션 크리티컬 애플리케이션을 구축하는 경우에는 더욱 그렇습니다. 그러나 가장 작은 Kafka 사용 사례에서도 이 프로세스는 시간이 많이 걸리며 오류가 발생하기 쉽습니다.
이 실습에서는 Confluent Self-Balancing 클러스터 기능을 테스트하여 클러스터 토폴로지 변경 또는 불균등한 로드를 기반으로 재조정을 자동화했습니다. Confluent rebalance 테스트는 노드 장애 또는 확장 노드에서 브로커 간의 데이터 재조정이 필요한 경우 새 브로커를 추가하는 시간을 측정하는 데 도움이 됩니다. 기존 Kafka 구성에서는 클러스터의 증가에 따라 재조정할 데이터의 양이 증가하지만 계층형 스토리지에서는 소량의 데이터로 제한됩니다. NetApp의 검증을 바탕으로, 계층화된 스토리지에서 재조정은 기존 Kafka 아키텍처에서 몇 초 또는 몇 분 만에 이루어지게 되며, 클러스터의 확장에 따라 선형으로 증가합니다.
자체 밸런싱 클러스터에서는 파티션 재조정이 완전히 자동화되어 Kafka의 처리량을 최적화하고 브로커 확장을 가속화하며 대규모 클러스터를 실행하는 데 따른 운영 부담을 줄일 수 있습니다. 안정적인 상태에서 자체 균형 조정 클러스터는 브로커 전체의 데이터 불균형을 모니터링하고 지속적으로 파티션을 재할당하여 클러스터 성능을 최적화합니다. 플랫폼을 확장하거나 축소할 때 자체 균형 조정 클러스터는 새로운 브로커의 존재 또는 이전 브로커의 제거를 자동으로 인식하고 후속 파티션 재할당을 트리거합니다. 이를 통해 브로커를 쉽게 추가하고 해체할 수 있으므로 Kafka 클러스터의 유연성이 근본적으로 높아집니다. 이러한 이점은 수동 개입, 복잡한 수학 또는 재할당을 분할하는 데 수반되는 인적 오류의 위험 없이 제공됩니다. 따라서 데이터 재조정이 훨씬 더 빠르게 완료되고, 클러스터를 지속적으로 감독해야 하는 대신 더 가치 있는 이벤트 스트리밍 프로젝트에 집중할 수 있습니다.