9.5. 크루즈 컨트롤
Cruise Control은 다음 Kafka 작업을 지원하는 오픈 소스 시스템입니다.
- 클러스터 워크로드 모니터링
- 사전 정의된 제약 조건을 기반으로 클러스터 재조정
이 작업은 브로커 Pod를 보다 효율적으로 사용하는 더 균형 있는 Kafka 클러스터를 실행하는 데 도움이 됩니다.
일반적인 클러스터는 시간이 지남에 따라 균등하게 로드될 수 있습니다. 대량의 메시지 트래픽을 처리하는 파티션이 사용 가능한 브로커에 균등하게 분배되지 않을 수 있습니다. 클러스터를 재조정하려면 관리자는 브로커의 부하를 모니터링하고 사용 중인 파티션을 여유 용량이 있는 브로커에 수동으로 다시 할당해야 합니다.
Cruise Control은 클러스터 재조정 프로세스를 자동화합니다. CPU, 디스크 및 네트워크 로드를 기반으로 클러스터의 리소스 사용률의 워크로드 모델을 구성하고 더 균형 있는 파티션 할당에 대한 최적화 제안(승인 또는 거부할 수 있음)을 생성합니다. 구성 가능한 최적화 목표 세트는 이러한 제안을 계산하는 데 사용됩니다.
특정 모드에서 최적화 제안을 생성할 수 있습니다. 기본 전체 모드는 모든 브로커에서 파티션을 재조정합니다. add-brokers 및 remove-brokers 모드를 사용하여 클러스터를 확장 또는 축소할 때 변경 사항을 수용할 수도 있습니다.
최적화 제안을 승인하면 Cruise Control을 Kafka 클러스터에 적용합니다. KafkaRebalance 리소스를 사용하여 최적화 제안을 구성하고 생성합니다. 최적화 제안이 자동으로 또는 수동으로 승인되도록 주석을 사용하여 리소스를 구성할 수 있습니다.
Prometheus는 최적화 제안 및 재조정 작업과 관련된 데이터를 포함하여 Cruise Control 지표 데이터를 추출할 수 있습니다. Cruise Control의 샘플 구성 파일 및 Grafana 대시보드는 AMQ Streams를 통해 제공됩니다.