Chuyển đến nội dung chính

レッスン 22: STRIMZI オペレーターを使用した APACHE Kafka クラスター

Strimzi Operator、KRaft モード (Zookeeper なし)、トピック管理、コンシューマー グループ、スキーマ レジストリ、および監視を使用して、Apache Kafka HA クラスターを Kubernetes にデプロイします。

🔒 DevSecOps — レッスン 22 レッスン 22: STRIMZI を使用した APACHE KAFKA クラスター オペレーター

Kubernetes HA を使用してマイクロサービスをオンプレミスにデプロイ

パート 5: メッセージ キュー HA (RabbitMQ、Kafka、Redis)

xdev.asia

🎯 レッスンの目的__HTMLTAG_68___
  • ✅ Kafka アーキテクチャを理解する: ブローカー、トピック、パーティション、コンシューマ グループ
  • ✅ Strimzi を使用した Kafka 3 ノード クラスターのデプロイ (KRaft モード)
  • ✅ トピック、レプリケーション、保持の構成
  • ✅ スキーマ進化のためのスキーマ レジストリのデプロイ
  • ✅ JMX メトリクス + Prometheus を使用して Kafka クラスターを監視
  • ✅ ベスト プラクティス: パーティショニング戦略、コンシューマ ラグ、厳密に 1 回

パート 1: APACHE KAFKA アーキテクチャ

コードブロック_0

特徴カフカRabbitMQ
スループット数百万メッセージ/秒数万
メッセージ モデルプル (消費者投票)プッシュ (ブローカーによる配信)
注文_パーティションごとキューごと (FIFO)
保存期間時間/サイズベース (日/週)消費されるまで
再生はい (オフセットシーク)いいえ(ACK 後にメッセージ削除)
ユースケースイベントストリーミング、CDC、ログタスクキュー、RPC、ルーティング
プロトコル_Kafkaバイナリプロトコル_AMQP 0.9.1

パート 2: STRIMZI OPERATOR のインストール

コードブロック_1


パート 3: KAFKA クラスターのデプロイ (KRaft モード)

3.1.カフカ CRD

___コードブロック_2___

3.2. JMX メトリック構成マップ

___コードブロック_3___

コードブロック_4


パート 4: トピック管理

4.1. KafkaTopic CRD

___コードブロック_5___

コードブロック_6


パート 5: KAFKA ユーザーと ACL

コードブロック_7


パート 6: 生産と消費のテスト

コードブロック_8


パート 7: スキーマ レジストリ

コードブロック_9


パート 8: KAFKA の監視

コードブロック_10

コードブロック_11


💡 重要なポイント

  1. _Strimzi オペレーター: K8 で Kafka を実行する最良の方法、完全なライフサイクル管理
  2. KRaft モード: ZooKeeper への依存関係がなく、よりシンプルなアーキテクチャ
  3. レプリケーション係数 3、min.insync.replicas 2: 1 つのブローカー障害を許容
  4. パーティション戦略: 順序付けのためのキーベースのパーティション化、スループットのためのパーティションの増加
  5. 消費者グループ: 並列処理、遅延を注意深く監視
  6. _スキーマ レジストリ: スキーマの進化を強制し、重大な変更を防止

🎯 演習

演習 1: Kafka HA ラボ

  • KRaft を使用した 3 ノード Kafka クラスターのデプロイ
  • 6 つのパーティションを含むトピックを作成、RF=3
  • 100,000 個のメッセージを生成し、1 人のブローカーを強制終了
  • データ損失がないことを確認し、消費者が追いつく__HTMLTAG_227___

演習 2: パフォーマンス ベンチマーク

  • 異なるバッチ サイズで kafka-Producer-perf-test.sh を実行
  • スループットの測定: メッセージ/秒、MB/秒
  • 圧縮の比較: none vs lz4 vs snappy vs zstd

📚 次の投稿

__HTMLTAG_243___レッスン 23: Redis HA — センチネルおよびクラスター モード では、キャッシュとリアルタイム データのために Redis をデプロイします。