🎯 レッスンの目的__HTMLTAG_68___
- ✅ RabbitMQ クラスターのアーキテクチャとメッセージング パターンを理解する
- ✅ Cluster Operator を使用して RabbitMQ 3 ノード クラスターをデプロイ
- ✅ HA のクォーラム キューを構成する
- ✅ TLS 暗号化と認証をセットアップする
- ✅ Prometheus を使用して RabbitMQ クラスターを監視
- ✅ ベスト プラクティス: メッセージの耐久性、DLQ、フロー制御
パート 1: RABBITMQ クラスター アーキテクチャ
1.1.メッセージング パターン
___コードブロック_0___1.2。 RabbitMQ クラスターのアーキテクチャ
___コードブロック_1___クォーラム キュー: Raft コンセンサス → データが多数派にわたって複製される クラシック キュー: 1 ノードのみ (ミラーリング = 非推奨)
| 機能 | クラシックキュー | クォーラムキュー | ストリーム |
|---|---|---|---|
| レプリケーション | なし(ミラーリングは非推奨) | Raftベース(大部分)_ | _追加専用ログ |
| データ セーフティ | 低 | 高 | 高 |
| パフォーマンス | 最高 | 良好 (わずかに低い) | ファンアウトに最適 |
| ユースケース | 一時的/非クリティカル | ビジネスクリティカル | イベントストリーミング |
| 注文_ | FIFO | FIFO | パーティションごとのFIFO |
パート 2: RABBITMQ クラスター オペレーターのインストール
2.1.オペレーターをインストール
___コードブロック_2___2.2.メッセージング用の名前空間の作成
___コードブロック_3___パート 3: RABBITMQ HA クラスターのデプロイ
3.1. RabbitmqCluster CRD
___コードブロック_4___コードブロック_5
パート 4: クォーラム キューとポリシー
4.1.クォーラム キューの作成
___コードブロック_6___4.2.仮想ホストとユーザー
___コードブロック_7___パート 5: TLS 暗号化
コードブロック_8
パート 6: 監視
コードブロック_9
コードブロック_10
パート 7: アプリケーションの統合
コードブロック_11
コードブロック_12
💡 重要なポイント
- _クォーラム キュー: Raft ベースのレプリケーション、常に本番環境に使用
- クラスタ オペレータ: K8 上の宣言型 RabbitMQ、自動クラスタリング
- 3 ノード クラスター: 1 ノードの障害を許容します (大部分 = 2)
- デッドレターキュー: 有害なメッセージを処理し、ロジックを再試行
- TLS + vhosts: サービスを分離し、転送中に暗号化
- pause_minority: スプリット ブレイン パーティションの処理を防止
🎯 演習
演習 1: RabbitMQ HA ラボ
- 3 ノード RabbitMQ クラスターのデプロイ
- DLQ を使用してクォーラム キューを作成
- 10,000 メッセージをパブリッシュし、1 ノードを強制終了し、メッセージ損失がないことを確認
_演習 2: モニタリングの設定__HTMLTAG_229___
- PodMonitor の構成
- RabbitMQ Grafana ダッシュボードのインポート (ID: 10991)
- キューのバックログが 5000 を超えるアラートを作成
📚 次の投稿
__HTMLTAG_242___レッスン 22: Strimzi Operator を使用した Apache Kafka クラスター では、高スループットのイベント ストリーミング用に Kafka をデプロイします。