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

レッスン 21: Kubernetes 上の RABBITMQ HA クラスター

RabbitMQ Cluster Operator、クォーラム キュー、TLS、モニタリング、マイクロサービス メッセージングのベスト プラクティスを使用して、Kubernetes に RabbitMQ HA クラスターをデプロイします。

🔒 DevSecOps — レッスン 21 レッスン 21: RABBITMQ HA クラスター オン _KUBERNETES_

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

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

xdev.asia

🎯 レッスンの目的__HTMLTAG_68___
  • ✅ RabbitMQ クラスターのアーキテクチャとメッセージング パターンを理解する
  • ✅ Cluster Operator を使用して RabbitMQ 3 ノード クラスターをデプロイ
  • ✅ HA のクォーラム キューを構成する
  • ✅ TLS 暗号化と認証をセットアップする
  • ✅ Prometheus を使用して RabbitMQ クラスターを監視
  • ✅ ベスト プラクティス: メッセージの耐久性、DLQ、フロー制御

パート 1: RABBITMQ クラスター アーキテクチャ

1.1.メッセージング パターン

___コードブロック_0___

1.2。 RabbitMQ クラスターのアーキテクチャ

___コードブロック_1___

クォーラム キュー: Raft コンセンサス → データが多数派にわたって複製される クラシック キュー: 1 ノードのみ (ミラーリング = 非推奨)

機能クラシックキュークォーラムキューストリーム
レプリケーションなし(ミラーリングは非推奨)Raftベース(大部分)__追加専用ログ
データ セーフティ低高高
パフォーマンス最高良好 (わずかに低い)ファンアウトに最適
ユースケース一時的/非クリティカルビジネスクリティカルイベントストリーミング
注文_FIFOFIFOパーティションごとの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


💡 重要なポイント

  1. _クォーラム キュー: Raft ベースのレプリケーション、常に本番環境に使用
  2. クラスタ オペレータ: K8 上の宣言型 RabbitMQ、自動クラスタリング
  3. 3 ノード クラスター: 1 ノードの障害を許容します (大部分 = 2)
  4. デッドレターキュー: 有害なメッセージを処理し、ロジックを再試行
  5. TLS + vhosts: サービスを分離し、転送中に暗号化
  6. 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 をデプロイします。