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 構成の詳細な説明

推薦する

JavaScriptの構文とコード構造に関する深い理解

目次概要機能性と読みやすさ空白括弧セミコロンインデント身元大文字と小文字を区別予約キーワード概要すべ...

クリック範囲を拡大する入力チェックボックスを実装する方法

XML/HTML コードコンテンツをクリップボードにコピー< div style = &quo...

優れたHTML印刷コードがページめくりをサポート

ylbtech_html_print HTML 印刷コード、ページめくりをサポートコードをコピーコー...

VUE 3 テレポート コンポーネントと使用構文をすぐに使い始める

目次1. テレポートの紹介1.1. 複数のテレポートを使用する2. テレポートを使用する理由3. テ...

docker の run/cmd/entrypoint の違いの詳細な説明

Dockerfile では、run、cmd、entrypoint はすべてコマンドを実行するために使...

MySQLにおけるトランザクション分離レベルの実装原理の詳細な説明

序文データベース トランザクションに関して言えば、トランザクションの ACID 特性、分離レベル、解...

要素のフォーム要素の使用の概要

フォーム要素はたくさんあります。簡単にまとめると、次のようになります。私のやり方では、主にテキスト ...

シンプルなタブバー切り替えケースを実現するJavaScript

この記事では、タブバーの切り替え効果を簡単に実現するためのJavaScriptの具体的なコードを参考...

Linux ファイル記述子、ファイルポインタ、および inode の詳細

目次Linux - ファイル記述子、ファイルポインタ、インデックスノード1. Linux - ファイ...

MySQLのクラスタ化インデックスと非クラスタ化インデックスの詳細な説明

1. クラスター化インデックステーブル データはインデックスの順序で保存されます。つまり、インデック...

純粋な CSS で実装された 3 つの通知バーのスクロール効果

序文通知バー コンポーネントは、比較的一般的なコンポーネントです。基本的に、すべてのサイトにこのよう...

Nginx ポート競合を解決するトラブルシューティング方法の例

問題の説明データ転送に Nginx を使用し、フロントエンドとバックエンドが分離された Spring...

Layuiテーブル行のデータを動的に編集する

目次序文スタイル機能説明初期化コードイベントリスナーの追加リスナーツールバーモニターテーブル行ツール...

MySQL はエンタープライズレベルのログ管理、バックアップ、リカバリの実践的なチュートリアルを実装します

背景事業が発展するにつれ、会社の事業内容や規模は拡大し続け、ウェブサイトには大量のユーザー情報やデー...