스마트 리밸런스
카프카 클러스터는 하나 이상의 브로커가 연결되어 구성되며 프로듀서가 발행한 메시지를 수신하여 컨슈머로 전달해요. 또한, 카프카는 수신된 메시지를 일정 기간 디스크에 보관하여 장애에 대비하고, 필요에 따라 컨슈머가 다시 읽어갈 수 있는 인터페이스를 제공해요.
이 과정에서, 카프카 브로커들은 디스크 장치를 사용하게 되고 카프카 클러스터를 운영하다 보면 필연적으로 디스크 사용량이 각기 달라질 수 밖에 없어요. 디스크 사용량의 균형이 맞지 않는다는 것은 프로듀서가 보내오는 메시지의 양이 다른 것을 의미하며 네트워크 사용량이 서로 다르다는 것을 의미해요.
따라서, 일부 토픽 파티션을 이동하여 브로커 간 디스크 사용량의 균형을 잡아주어야 네트워크 및 다른 자원의 사용량도 균형있게 맞춰줄 수 있어요. Felice 는 [스마트 리밸런싱] 기능을 통해 수집된 정보를 바탕으로 이러한 디스크 사용량의 균형을 손쉽게 맞출 수 있도록 제공하고 있어요.
실시간으로 파티션 이동 작업이 진행되고 있다면 스마트 리밸런스 화면에 접근하더라도 파티션 작업 현황 화면으로 자동으로 전환돼요.
클러스터에 메트릭을 적용하지 않을 경우, 스마트 리밸런스 추천안 작업이 불가능해서 해당 기능을 제공하지 않고 있으니 참고해주세요.
새로운 리밸런싱 작업 생성하기
고급 > 스마트 리밸런스 메뉴를 선택하여 새로운 리밸런싱 작업을 생성할 수 있어요.
Step1: 디스크 밸런서를 통한 추천안 계산
파티션 재배치 계산 횟수를 조정하며 최적의 전체 이동량을 계산해보세요. 횟수 수정 후 [재추천 받기] 버튼을 클릭하면 새로 계산된 추천안을 확인하실 수 있어요.

| 구분 | 설명 |
|---|---|
| ⓵ 디스크 사용량 그래프 | 브로커 별 현재와 리밸런싱 후의 예측 사용량 비교 그래프 |
| ⓶ 파티션 재배치 계산 횟수 | 최대 계산 반복 횟수 (재귀) |
| ⓷ 재추천받기 | 파티션 이동 다시 계산 |
| ⓸ 전체 이동량 | 계산 결과 이동하는 전체 데이터양 |
| ⓹ 설정하기 | 추천안 및 이동량 확인 후 작업 구성 화면으로 이동 |
데이터를 복제하는 과정(파티션 이동) 에서 디스크 넘침이 발생할 수 있어요.
- 디스크를 이미 균형있게 사용하고 있는 경우
- 이동할 수 있는 파티션이 존재하지 않는 경우
동일한 번호의 토픽-파티션이 존재하지 않는 브로커로만 파티션 이동이 가능해요. 따라서 모든 파티션의 복제본 인자와 브로커 개수가 동일한 경우에는 이동할 수 있는 파티션이 존재하지 않아 스마트 리밸런싱 작업이 어려울 수 있어요.
Step2: 작업 구성 확인 및 생성하기
이전 단계에서 계산된 결과에 따라 다음 화면으로 넘어오면 토픽-파티션 이동 목록을 확인하실 수 있어요. 추천안 기반으로 옮겨질 토픽-파티션 리스트를 확인하고 쓰로틀링을 설정 완료하셨다면 [스마트 리밸런스 시작하기] 버튼을 클릭하여 스마트 리밸런스를 실행할 수 있어요.

쓰로틀링 설정
쓰로틀링에 대한 자세한 내용은 쓰로틀링 문서를 확인해주세요.
리밸런싱 작업은 한번에 하나의 작업만 수행할 수 있어요. 따라서, 진행 중인 작업이 존재하는 경우 새로운 작업을 생성할 수 없으니 이전 작업이 완료 된 후 새로운 작업을 생성해주세요.
Step3: 작업 현황 확인하기
좌측에서 고급 > 파티션 작업 현황 메뉴를 클릭하면 방금 생성되어 진행 중인 스케일링 작업을 확인할 수 있어요. 파티션 작업 현황에서 스마트 리밸런스 작업을 취소하거나, 쓰로틀 값을 변경 또는 해제할 수 있어요.