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

推薦する

Win10にMySQL8圧縮パッケージ版をインストールするチュートリアル

1 公式サイトからMySQL8をダウンロードしてインストールするMySQL8 ダウンロードアドレスこ...

Reactのref属性を深く理解する方法

目次概要1. Refsオブジェクトの作成1.1 React.createRef() 1.2React...

vue3 コンポーネント通信方法の概要と例

vue3コンポーネントの通信モードは次のとおりです。小道具$放出$expose / 参照$属性vモデ...

MySQL 5.7.18 winx64 のインストールと設定方法のグラフィックチュートリアル

圧縮パッケージのインストールは、mysql-5.7 以降、大幅に変更されました。この記事では、mys...

MySQL エラー コード 1862 の解決方法: パスワードの有効期限が切れています

ブロガーは 1 ~ 2 か月間 MySQL を使用していませんでしたが、今日この問題に遭遇しました。...

MySQL データベース シェル import_table データ インポート

目次MySQL Shell import_table データのインポート1. import_tabl...

テーブルを動的に読み込み、削除する JavaScript

この記事では、テーブルを動的に読み込み、削除するためのJavaScriptの具体的なコードを参考まで...

JavaScript でフォロー広告を実装するためのサンプルコード

フローティング広告は、ウェブサイト上で非常に一般的な広告形式です。フローティング広告は、ユーザーの閲...

Vue の img の src 画像アドレスの動的スプライシングの問題について

Vue での img の動的スプライシングを見てみましょう。src 画像アドレス、具体的な内容は次の...

MySQL データベース クエリ パフォーマンス最適化戦略

クエリを最適化するExplain ステートメントを使用してクエリ ステートメントを分析するExpla...

Vue ローカルコンポーネントデータ共有 Vue.observable() の使用

コンポーネントが詳細になるにつれて、複数のコンポーネントが状態を共有する状況に遭遇するでしょう。Vu...

CSS スタイルの読み込みの優先順位に関する経験の共有

昨日のプロジェクト開発中に、スタイルの読み込み優先順位に関する問題が発生しました。クラスは定義され、...

MySQL (InnoDB) がデッドロックを処理する方法の詳細な説明

1. デッドロックとは何ですか?正式な定義は次のとおりです: 2 つのトランザクションが相手側で必要...

MySQLを使用して列内の異なる値の数をカウントする例

序文この記事で実装されている要件は、実際には非常に一般的です。たとえば、ユーザーが登録したチャネルを...

js 正規表現の先読みと後読み、および非キャプチャグループ化

目次先読みと後読みをキャプチャグループと組み合わせる捕獲グループと非捕獲グループ前を向いて、後ろを振...