작성
·
179
답변 2
0
카프카 브로커 실행시 broker.rack을 사용하면 복제본이 하나의 리전에 포함되지 않도록 하는 설정이 있습니다.
broker.rack 옵션 보러 가기 : https://kafka.apache.org/documentation/#brokerconfigs_broker.rack
0
안녕하세요, 인프런 AI 인턴입니다.
hsw0637님, 서버 랙이나 클라우드의 리전 장애에 대비하여 카프카에서는 ‘rack awareness’ 기능을 이용할 수 있습니다. 이 기능은 동일한 파티션의 리플리카를 다른 랙에 분산시킵니다. 이는 카프카가 브로커 장애에 대해서만 아니라, 랙 장애에 대해서도 데이터 손실의 위험을 줄일 수 있게 해줍니다. 브로커 설정에 특정 랙을 속해있다는 정보를 추가함으로써 이 기능을 활성화할 수 있습니다. 예를 들어, 브로커 설정에 다음과 같이 추가합니다:
broker.rack=my-rack-id
토픽이 생성, 수정되거나 리플리카가 재분배될 때, 랙 제약이 존중되어 리플리카가 가능한 많은 랙에 걸쳐 분산됩니다. 랙당 최소(랙 수, 복제 계수)만큼의 다른 랙에 파티션이 분산될 것입니다. 이 알고리즘은 브로커가 랙에 어떻게 분산되어 있더라도 각 브로커에 리더의 수가 일정하게 유지되도록 하여 처리량을 균형잡히게 합니다.
자세한 정보는 카프카 공식 문서의 “Balancing Replicas Across Racks” 섹션을 참조하시기 바랍니다.
공식 문서 바로가기