Skip to content

Instantly share code, notes, and snippets.

@kenzo0107
Created September 19, 2025 06:03
Show Gist options
  • Save kenzo0107/28974df2ff6ffcc892e764d9da74c425 to your computer and use it in GitHub Desktop.
Save kenzo0107/28974df2ff6ffcc892e764d9da74c425 to your computer and use it in GitHub Desktop.

https://docs.confluent.io/platform/current/multi-dc-deployments/cluster-linking/index.html

以下は、ご指定の Confluent Platform の「Cluster Linking」ページを日本語で Markdown 形式にまとめた内容です。


Cluster Linking(Confluent Platform)概要

✅ Cluster Linking とは

  • クラスター間で直接接続を確立し、ソースのトピックを宛先クラスターにミラーリングします。Connect(Replicator や MirrorMaker2)は不要です。(docs.confluent.io)
  • オフセットを保持した byte-for-byte 複製を実現し、ソースと同一のパーティション構成・オフセットでミラートピックが作成されます。重複なし。(docs.confluent.io)
  • ネットワーク遅延に強く、安全で、オンプレミスからクラウドまで多様な構成に対応。(docs.confluent.io)

🚀 主な用途と利点

  • グローバルレプリケーション:各リージョン・大陸のデータ統合
  • ハイブリッドクラウド:オンプレミスの Confluent Platform クラスターと Confluent Cloud の間をシームレスに接続
  • 高可用性/災害対策(HA/DR):低 RTO(復旧時間)と低 RPO(データ損失量)を実現
  • クラスタ移行:旧環境から新環境またはクラウドへの移行を支援
  • 集約:複数クラスターのデータを統合し、分析や集約用途に活用
  • データ共有:組織・チーム間での安全なデータ連携(docs.confluent.io)

従来の Replicator/MirrorMaker2 に比べ:

  • 追加コンポーネント不要でネイティブに動作
  • オフセット保持やミラー精度の面で優れる
  • REST API、CLI、Kubernetes CRD による柔軟な運用が可能(docs.confluent.io)

🛠 技術要件とサポート

  • KRaft モード推奨(Confluent Platform 8.0 以降で ZooKeeper 非推奨)(docs.confluent.io)

  • 対応バージョン:

    • 宛先クラスタ:Confluent Platform 7.x.x 以降
    • ソースクラスタ:Confluent Platform または Apache Kafka 3.0.x 以降(特定条件下は 7.1.x 以降必要)(docs.confluent.io)
  • IBP バージョン要件:

    • ソース IBP ≥ 2.4、宛先 IBP ≥ 2.7、バージョン間ミスマッチに注意(docs.confluent.io)
  • Confluent for Kubernetes や Ansible による柔軟な導入が可能。7.0 以降はデフォルトで有効(docs.confluent.io)

  • セキュリティ構成:TLS/SASL/mTLS に対応。リンク資格情報と ACL の同期設定も可能(docs.confluent.io)


🧩 ミラー&リンク設定概要

ミラー・トピックの動作と管理

  • ミラートピックは、リンクによって所有・管理される読み取り専用トピック
  • ソースのトピックと自動同期(構成、ACL、コンシューマオフセット含む)
  • ミラー → 通常トピックへの変換(プロモート)、フェイルオーバー/リバース/再同期に対応(docs.confluent.io)
  • 自動ミラートピック作成やプレフィックス設定も利用可能

設定プロパティ例

  • mirror.start.offset.spec:ミラー開始オフセット指定
  • link.fetcher.flow.control:遅延制御
  • link.mode, connection.mode:双方向リンク時のモード指定
  • local.listener.name:リスナー明示的設定(自己管理クラスタのみ)(docs.confluent.io)

🔍 監視とチューニング

  • JMX 経由でリンクの健全性やパフォーマンスを監視可能:

    • link-count, mirror-topic-count, MaxLag, BytesPerSec, throttle time, link-task-count など(docs.confluent.io)
  • 適切なスケーリング:

    • パーティション数を増やし並列性を確保
    • フェッチスレッド数やフェッチサイズの調整
    • クラスターの水平/垂直スケールでスループット向上(docs.confluent.io)

❗ 注意事項と制限

  • リンク削除時は、ミラートピックが STOPPED 状態であることを確認
  • 非認証リスナーは禁止(セキュリティ設定必須)
  • mTLS を使用する場合、証明書設定を全ノードで同一パスに配置すること
  • /tmp に構成ファイルを置くと、一部ノードで消失リスクあり
  • Control Center 経由で正しく表示するには REST Proxy API v3 が必要(docs.confluent.io)
  • Kafka トランザクション使用テーマのミラーリングは未サポート
  • Pre-7.1.0 と KRaft モード間リンクは不安定/非推奨
  • オフセット削除の伝播遅延など、ACL 同期やメッセージフォーマット(v0/v1)に関する既知問題あり(docs.confluent.io)

📌 要点まとめ

項目 内容
特徴 byte-for-byte 複製、オフセット保持、Connect不要
ユースケース HA/DR、ハイブリッドクラウド、移行、グローバル展開、データ共有
バージョン条件 宛先:CP 7.0.x以上、ソース:Kafka 3.0+または CP 7.1.x以上
セキュリティ TLS/SASL/mTLS/ACL 同期対応
管理・監視 JMX メトリクス、Control Center 対応(REST v3 必須)
注意点 トピック停止状態確認、認証設定必須、ミラー制限、リンク対応バージョン要確認

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment