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

推薦する

フロントエンドとバックエンドを分離した nginx 構成を展開するための完全な手順

序文決まり文句です。ここでは、フロントエンドとバックエンドの分離についての私の理解についてお話ししま...

HTML は CSS スタイルと JS スクリプトを動的に読み込みます。例

1. スクリプトを動的に読み込むウェブサイトの需要が高まるにつれて、スクリプトの需要も徐々に増加しま...

React.FCとReact.Componentの使用に関する簡単な説明

目次1. React.FC<> 2. クラスxxはReact.Componentを拡張し...

line-height=height要素の高さだがテキストが垂直方向に中央揃えされない問題を解決する

まず、行の高さが要素の高さと等しい場合にテキストが垂直方向に中央揃えにならない理由を説明します。実際...

Tomcat のパフォーマンス最適化方法の簡単な概要

Tomcat自体の最適化Tomcat メモリ最適化起動時に大きなメモリ ブロックが必要であることを ...

VMware12 インストール centOS8 構成グラフィック チュートリアルの詳細説明 (vm 仮想マシン インストール centos8 チュートリアル)

数日前に CentOS8 がリリースされました。8 の最初のバージョンですが、今日は VM12 に ...

OpenSSL は双方向認証のチュートリアルを実装します (サーバーとクライアントのコード付き)

1. 背景1.1 問題点最近の製品テスト レポートでは、PKI ベースの認証方法の使用が推奨されて...

vue N​​progress のプログレスバー機能を実装する際の一般的な問題

NProgress は、ページがジャンプしたときにブラウザの上部に表示される進行状況バーです。公式ウ...

SQL 文で OR と AND を混在させる場合のヒント

現在、このような要件があります。ログインした人がカスタマー サービス担当者である場合、注文は「このカ...

CentOS 7.4 64 ビット版に MySQL 8.0 をインストールして設定するための詳細な手順

ステップ1: MySQL YUMソースを取得するMySQLの公式サイトにアクセスして、RPMパッケー...

CSSをインポートする方法に関する詳細な洞察の要約

CSS の開発履歴についてはここでは紹介しません。ブログを書いている理由の 1 つは、フロントエンド...

カスタムポップアップボックスを実装するためのJavaScriptシングルトンモード

この記事では、カスタムポップアップボックスを実装するためのJavaScriptシングルトンモードの具...

JavaScriptはランダムコードの生成と検証を実現する

JavaScriptでのランダムコードの生成と検証は参考までに。具体的な内容は以下のとおりです。イベ...

npmとcnpmを混在させる際の落とし穴の詳細な説明

目次原因理由NPM の紹介: CNPM の紹介:より良い方法方法の改善npm と cnpm を一緒に...

HTML におけるブロックコメントの使用に関する詳細な紹介

HTML の一般的なコメント: <!--XXXXXXXX--> (XXXXXXXX はコ...