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

推薦する

Ubuntu インストール cuda10.1 ドライバ実装手順

1. cuda10.1をダウンロードします。 NVIDIA 公式ウェブサイト リンク: https:...

JavaScript でドラッグ可能なプログレスバーを実装する

この記事では、ドラッグ可能なプログレスバーを実装するためのJavaScriptの具体的なコードを参考...

特殊効果メッセージボックスを実現するネイティブJS

この記事では、ネイティブ JS で実装された特殊効果メッセージ ボックスを紹介します。効果は次のとお...

適応分析と応答分析の違いを専門用語で詳しく説明

日々の開発経験と関連するオンライン情報に基づいて、アダプティブとレスポンシブの違いをシンプルでわかり...

Vue のリスナーの基本的な使用例

目次序文1. リスナーの基本的な使い方2. リスナー形式3. ページに入るとすぐに監視とディープモニ...

LinuxサーバーでRabbitMQ管理ページにアクセスできない問題を解決

私のプロジェクトの特定の機能ではサーバーが rabbitmq にメッセージを送信する必要があるため、...

Ubuntu 18.04 で SSH サービスをインストールして設定する方法

sshツールをインストールする1. ターミナルを開き、次のコマンドを入力します。 apt-getアッ...

Javascript と Vue を組み合わせて、あらゆる迷路画像の自動パス検索を実現します。

目次序文2次元配列、一方向基本インターフェースのマッピング幅優先、包括的検索マップ編集経路探索アルゴ...

SSL で Nginx リバース プロキシを構成する簡単な手順

序文リバース プロキシは、Web 経由で行われたリクエスト (http と https の両方) を...

vue の v-for ディレクティブはリストのレンダリングを完了します

目次1. リストの走査2. Vueにおけるキーの役割3. リストフィルタリングこの記事では、Vue ...

Nginx+Tomcat 負荷分散クラスタの実装例

目次導入1. 事例の概要2. 環境の展開3. Nginxホストのインストール4. Tomcatのイン...

MySQLクエリ最適化: 100万件のデータに対するテーブル最適化ソリューション

1. 2つのクエリエンジン(myIsamエンジン)のクエリ速度InnoDB はテーブル内の特定の行数...

ドロップダウンリストのJavaScript実装

この記事の例では、ドロップダウンリストを実装するためのJavaScriptの具体的なコードを参考まで...

MySQL 8.0 に移行する際の注意点 (要約)

パスワードモードPDO::__construct(): サーバーがクライアントに不明な認証方法を要求...

親要素に対する CSS 子要素の配置の実装

解決親要素に position:relative を追加します。子要素に position:abso...