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