Linux RabbitMQ クラスタ構築プロセス図

Linux RabbitMQ クラスタ構築プロセス図

1. 全体的な手順

冒頭で、RabbitMQ サービスをインストールして実行する方法を紹介しましたが、これらはスタンドアロン バージョンであり、現在の実際のアプリケーションの要件を満たすことができません。 RabbitMQ サーバーでメモリ クラッシュ、マシンの停電、またはマザーボードの障害が発生した場合はどうすればよいですか?単一の RabbitMQ サーバーは、1 秒あたり 1,000 メッセージのスループットを満たすことができます。アプリケーションが RabbitMQ サービスに 1 秒あたり 100,000 メッセージのスループットを満たすことを要求した場合はどうなるでしょうか。高価なサーバーを購入して単一マシンの RabbitMQ サービスのパフォーマンスを向上させるだけでは不十分です。RabbitMQ クラスターを構築することが、実際の問題を解決する鍵となります。

まず、3 つの Linux オペレーティング システムが必要です。ここでは、それらを完全にクローンしました。状況に応じて確認できます。

次に、3つのLinuxオペレーティングシステムのホスト名を変更します。

vim /etc/ホスト名

ここで変更を行った後は、すべてを再起動(リブート)することをお勧めします。

再起動後、各ノードがお互いを認識できるように各ノードの hosts ファイルを設定します。

vim /etc/hosts

次に、各ノードの Cookie ファイルが同じ値を使用するように、node1 でリモート操作コマンドを実行します。

scp /var/lib/rabbitmq/.erlang.cookie ルート@node2:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie ルート@node3:/var/lib/rabbitmq/.erlang.cookie

RabbitMQ サービスを起動し、Erlang 仮想マシンと RbbitMQ アプリケーション サービスも起動します (3 つのノードそれぞれで次のコマンドを実行します)。

rabbitmq サーバーが分離されました

次に行うことは、ノード node3 を node1 に追加し、ノード node2 を node3 に追加することです。 (node3 を node1 に追加したり、node2 を node1 に追加したりすることもできます。同じです)

ここで注意すべき点は、ファイアウォールをオフにすることです。 ! !

ノードを追加したら、クラスターのステータスを確認できます。

クラスターステータス

次に、RabbitMQ アカウント情報が必要です。それを追加し、ユーザー名とパスワードを設定し、すべての権限を付与するだけです。

アカウントを作成する
rabbitmqctl add_user 管理者 123
ユーザーロールの設定
rabbitmqctl set_user_tags 管理者 管理者
ユーザー権限の設定
rabbitmqctl set_permissions -p "/" 管理者 ".*" ".*" ".*"

この時点で、クラスターのセットアップは完了です。最後に、ブラウザーで RabbitMQ バックエンド Web 管理コンソールにアクセスできるようになります。 クラスター情報が完全に表示されていることがわかります。 ! !

上記は、RabbitMQ クラスター構築プロセス図の詳細な内容です。RabbitMQ クラスター構築の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Linux に RabbitMQ をインストールするための詳細なチュートリアル
  • LinuxサーバーでRabbitMQ管理ページにアクセスできない問題を解決

<<:  Chrome、Firefox、IEで入力カーソルの位置がずれる問題の解決方法

>>:  Vue px to rem 構成の詳細な説明

推薦する

CentOS 7 に MySQL 8 をインストールするための詳細なチュートリアル

準備するこの記事の環境情報: ソフトウェアバージョンセントOSセントOS7.4マイグレーション8.0...

インスタンス化されたオブジェクトパラメータによるMySQLクエリ例の説明

この記事では、オブジェクト パラメータをインスタンス化して MySQL でデータをクエリする方法を紹...

Vue.jsはアイコンをクリックしてズームインし、

前回の記事では、Vue で画像の切り抜きや拡大・縮小、回転を実現する方法を紹介しました。今回は、アイ...

Vueはリストのシームレスなスクロールを実装します

この記事の例では、リストのシームレスなスクロールを実現するためのvueの具体的なコードを参考までに共...

WeChatアプレットはシンプルな計算機を実装する

WeChatアプレットの簡単な計算機は参考用です。具体的な内容は次のとおりです。 1. はじめに1....

Centos7 システム上の nginx サーバーで Phalcon 環境を構築する方法の詳細な説明

この記事では、centos7 システムの nginx サーバーの下に phalcon 環境を構築する...

MySQLは文字列の連結、インターセプション、置換、位置検索操作を実装しています

MySQL 文字列の連結、インターセプト、置換、および検索位置。よく使用される文字列関数:関数例示す...

MySQL 数千万のビッグデータに対するSQLクエリ最適化の知識ポイントのまとめ

1. クエリを最適化するには、テーブル全体のスキャンを避けてください。まず、where と orde...

1 つ以上のフィールドに基づいて重複データを検索する MySQL SQL ステートメント

SQLはテーブル内の重複レコードをすべて見つけます1. テーブルには id と name の 2 つ...

モバイルデバイス上のぼやけた小さなアイコンの問題を解決する方法

序文以前、画像とテキストの垂直方向のずれの問題について説明しました。ここで示した小さな例では、小さな...

mysql+mycat、負荷分散、マスタースレーブレプリケーション、読み取り/書き込み分離操作に基づく安定した高可用性クラスタを構築します。

データベースのパフォーマンス最適化には、一般的にクラスタリングが採用されています。Oracle クラ...

重複したMySQLテーブルをマージして削除する簡単な方法

シナリオ:クロールされたデータは、別のメインテーブルと同じ構造を持つデータテーブルを生成するため、マ...

MySQL のマスタースレーブレプリケーションと読み取り書き込み分離の原理と使用法の詳細な説明

この記事では、例を使用して、MySQL マスター/スレーブ レプリケーションと読み取り/書き込み分離...

MySQL のデッドロックとデータベースおよびテーブル シャーディングの問題の詳細な説明

MySQL 運用上の問題点を記録します。ビジネスシナリオと問題の説明外部インターフェースをリクエスト...

JavaScript ES 新機能ブロックスコープ

目次1. ブロックスコープとは何ですか? 2. ブロックスコープが必要なのはなぜですか? 3. 関数...