본문 바로가기
  • 노션에서 삽질한 내용을 정리하는 블로그
자기발전소/# Kafka_Confluent

Confluent Cluster Linking 제한사항 (7.5.X 버전 기준)

by iamlucia 2023. 11. 20.

 

 

Cluster Linking 

Limitation and Best Practices 
(7.5 버전 기준)

  • CFK 에서는 bidirectional 모드의 cluster link를 생성 할 수 없습니다.
  • cluster link 삭제시, 먼저 모든 mirror topic이 STOPPED 상태인지 확인해야 합니다. 만약에 한 토픽이라도 PENDING_STOPPED 상태인 경우에 삭제하게 되면 해당 토픽들 관련하여 복구불가능한 에러가 발생할 수 있습니다.
  • Confluent Platform 7.1 버전이후부터는, source-initiated cluster link 를 조회하는 REST API 요청을 보내면 destination_cluster_id 파라미터의 값으로 destination cluster ID를 받아올 수 있습니다.
  • 보통 Confluent Platform을 사용하는 데에 있어서, 인증되지않은 listener사용은 권장되지 않습니다. 이러한 부분은 Cluster Linking 에서 더 중요한 부분이 되는데, 왜냐하면 Cluster Linkging 이 listener 에 접근할 수 있기 때문입니다. 모든 listener 에 대해 인증을 설정하는 것이 권장됩니다.
    (참고: https://docs.confluent.io/platform/current/multi-dc-deployments/cluster-linking/security.html#cluster-link-security)
  • TLS/SSL key stores, trust stores and Kerberos keytab 파일 등은 클러스터의 각 브로커 서버의 동일한 경로에 위치해야 합니다. 그렇지 않은 경우, Cluster Link 는 실패할 수 있습니다.
  • Cluster Link 관련 설정 파일들은 /tmp 경로 아래에 위치하면 안됩니다. /tmp 파일이 삭제되는 경우 link와 mirror 토픽들이 에러 상태가 될 수 있습니다.
  • Confluent Platform 클러스터 및 Control Center 가 REST Proxy API v3 에 연결되어 있는 경우에만 Control Center 에서 mirror 토픽을 제대로 조회 가능합니다. 그렇지 않은 경우, Control Center 는 mirror topic 을 일반 토픽으로 보여주게 됩니다. 이런 경우 mirror 토픽에서는 불가능한 몇 가지의 기능(producing message, editing configuration)들을 control center 에서 보여주게 됩니다. 
    (Control Center 에서 v3 REST API 설정하는 방법:  https://docs.confluent.io/platform/current/multi-dc-deployments/cluster-linking/configs.html#cluster-linking-configs-c3) 
  • 현재 버전의 Cluster Linking 은 Kafka transactions 방식으로 생성된 레코드가 있는 토픽을 복제하는 건에 대해서는 완전히 테스트되지 않았으므로 해당 용례에 대해서 Cluster Linking 을 사용하는 것은 권장되지 않습니다.
  • Confluent Platfrom 의 7.0 이전 버전의 클러스터(non-Kraft)를 소스로 하고 Kraft 모드의 클러스터를 타겟으로 하는 경우의 Cluster Linking 은 지원하지 않습니다. 이 경우 Link 는 성공적으로 생성될 수 있으나, SOURCE_UNAVAILABLE 메세지와 함께 connection 이 최종적으로 실패하게 됩니다. 이에 대한 workaround 방안으로는 source cluster 의 버전을 Confluent 7.1.0 이상으로 설정하는 것입니다. 즉, Confluent Cloud (항상 최신 버전으로 설정) 가 dest이고, source 가 Confluent Platform 인 경우 source cluster 를 7.1.0 이후 버전으로 설정해야 합니다.
  • 7.1.0 이전 버전에서 ACL 마이그레이션(ACL sync) 을 사용하는 경우, ACL 마이그레이션 기능을 비활성화하거나 7.1.X 버전으로 업그레이드해야 합니다.
  • 소스 클러스터와 타겟 클러스터 간에 Cluster Linking 이 동작하기 위해서는 각 클러스터 간 TCP 연결이 허용되어 있어야 합니다.
  • 7.1.0 버전에서는 토픽 이름의 PREFIX가 지원되지 않습니다.