25.2. 가장 가까운 복제본에서 메시지 사용


Rack 인식은 소비자에서 가장 가까운 복제본에서 데이터를 가져오는 데 사용할 수도 있습니다. 이는 Kafka 클러스터가 여러 데이터센터에 걸쳐 있을 때 네트워크의 부하를 줄이고 퍼블릭 클라우드에서 Kafka를 실행할 때 비용을 줄일 수 있는 데 유용합니다. 그러나 이로 인해 대기 시간이 증가할 수 있습니다.

가장 가까운 복제본에서 사용할 수 있으려면 Kafka 클러스터에서 랙 인식을 구성해야 하며 RackAwareReplicaSelector 를 활성화해야 합니다. 복제본 선택기 플러그인은 클라이언트가 가장 가까운 복제본에서 사용할 수 있는 논리를 제공합니다. 기본 구현에서는 LeaderSelector 를 사용하여 항상 클라이언트의 리더 복제본을 선택합니다. 기본 구현에서 전환할 replica.selector.class 에 대해 RackAwareReplicaSelector 를 지정합니다.

활성화된 복제본 인식 선택기가 있는 구성의 예

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    # ...
    rack:
      topologyKey: topology.kubernetes.io/zone
    config:
      # ...
      replica.selector.class: org.apache.kafka.common.replica.RackAwareReplicaSelector
    # ...
Copy to Clipboard

Kafka 브로커 구성 외에도 소비자에 client.rack 옵션도 지정해야 합니다. client.rack 옵션은 소비자가 실행 중인 rack ID 를 지정해야 합니다. RackAwareReplicaSelector 는 일치하는 broker.rackclient.rack ID를 연결하여 가장 가까운 복제본을 찾고 여기에서 사용합니다. 동일한 랙에 여러 개의 복제본이 있는 경우 RackAwareReplicaSelector 는 항상 최신 복제본을 선택합니다. 랙 ID를 지정하지 않거나 동일한 랙 ID가 있는 복제본을 찾을 수 없는 경우 리더 복제본으로 대체됩니다.

그림 25.1. 동일한 가용성 영역의 복제본에서 사용하는 클라이언트 표시 예

동일한 가용성 영역의 복제본에서 사용

커넥터가 가장 가까운 복제본의 메시지를 사용하도록 Kafka Connect, MirrorMaker 2 및 Kafka Bridge를 구성할 수도 있습니다. KafkaConnect,KafkaMirrorMaker2KafkaBridge 사용자 정의 리소스에서 랙 인식을 활성화합니다. 구성은 선호도 규칙을 설정하지 않지만 선호도 또는 topologySpreadConstraints 를 구성할 수도 있습니다. 자세한 내용은 Pod 예약 구성을 참조하십시오.

Apache Kafka용 Streams를 사용하여 Kafka Connect를 배포할 때 KafkaConnect 사용자 정의 리소스의 rack 섹션을 사용하여 client.rack 옵션을 자동으로 구성할 수 있습니다.

Kafka Connect의 구성 예

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnect
# ...
spec:
  # ...
  rack:
    topologyKey: topology.kubernetes.io/zone
  # ...
Copy to Clipboard

Apache Kafka용 Streams를 사용하여 MirrorMaker 2를 배포할 때 KafkaMirrorMaker2 사용자 정의 리소스의 섹션을 사용하여 client.rack 옵션을 자동으로 구성할 수 있습니다.

MirrorMaker 2의 구성 예

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaMirrorMaker2
# ...
spec:
  # ...
  rack:
    topologyKey: topology.kubernetes.io/zone
  # ...
Copy to Clipboard

Apache Kafka용 Streams를 사용하여 Kafka 브리지를 배포할 때 KafkaBridge 사용자 정의 리소스의 rack 섹션을 사용하여 client.rack 옵션을 자동으로 구성할 수 있습니다.

Kafka 브리지의 구성 예

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaBridge
# ...
spec:
  # ...
  rack:
    topologyKey: topology.kubernetes.io/zone
  # ...
Copy to Clipboard

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat