目次
RabbitMQ が提供する管理 HTTP API を使用する
RabbitMq の概要
インストール準備ツール
インストール手順 (グラフィック)
RabbitMq の概要
1.1 メッセージ キュー ミドルウェアの概要
メッセージ キュー ミドルウェアは、分散システムにおける重要なコンポーネントであり、主にアプリケーションの結合、非同期メッセージ、トラフィックの切断などの問題を解決し、高性能と高品質を実現します。可用性 スケーラビリティと結果整合性 [アーキテクチャ] ActiveMQ (安全性)、RabbitMQ、ZeroMQ、Kafka (ビッグデータ)、MetaMQ、RocketMQ は一般的に使用されるメッセージ キューです 以下に、実際のアプリケーションにおけるメッセージ キューの一般的な使用シナリオを紹介します: 非同期
処理、アプリケーションの分離、トラフィックの切断、メッセージ通信の 4 つのシナリオ
1.2 RabbitMQ とは
RabbitMQ は、Erlang 言語によって開発された AMQP のオープンソース実装です。
AMQP: アドバンスト メッセージ キュー、アドバンスト メッセージ キュー プロトコル。メッセージ指向ミドルウェア向けに設計されたアプリケーション層プロトコルのオープン標準であり、このプロトコルに準拠したクライアントおよびメッセージミドルウェアは、製品や開発言語などの条件に制限されることなくメッセージを転送できます。
RabbitMQ はもともと金融システムで生まれ、分散システムでメッセージを保存および転送するために使用されており、使いやすさ、拡張性、高可用性の点で優れたパフォーマンスを発揮します。具体的な機能としては以下のとおりです。
1. 信頼性(Reliability)
RabbitMQ は、永続化、送信確認、解放確認などの信頼性を確保するための仕組みを採用しています。2. フレキシブル ルーティング (フレキシブル ルーティング)
メッセージはキューに入る前に、Exchange を介してルーティングされます。一般的なルーティング機能については、RabbitMQ はすでにいくつかの組み込み Exchange 実装を提供しています。より複雑なルーティング機能の場合、複数の Exchange を結合したり、プラグイン メカニズムを通じて独自の Exchange を実現したりすることもできます。
3. メッセージのクラスタリング(クラスタリング)
複数の RabbitMQ サーバーがクラスターを形成して、論理ブローカー
4 を形成できます。高可用性キュー (高可用性キュー)
キューはクラスター内のマシンにミラーリングできるため、一部のノードに障害が発生してもキューは引き続き使用できます。
5. マルチプロトコル
RabbitMQ は、STOMP、MQTT などの複数のメッセージ キューイング プロトコルをサポートします。
6. 多くのクライアント
RabbitMQ は、Java、.NET、Ruby などのほぼすべての一般的な言語をサポートします。
7. 管理 UI (管理 UI)
RabbitMQ は、ユーザーがメッセージ ブローカーのさまざまな側面を監視および管理できるようにする使いやすいユーザー インターフェイスを提供します。
8. トレース機構 (Tracing)
メッセージが異常な場合、RabbitMQ はメッセージ追跡機構を提供し、ユーザーは何が起こったのかを知ることができます。
9. プラグインの仕組み(プラグインシステム)
RabbitMQ はさまざまな拡張を可能にする多くのプラグインを提供しており、独自のプラグインを作成することもできます。
インストール準備ツール
1. Eralng をダウンロードします。以下のリンクで otp_win64_20.2.exe が提供されます。リンク
: https://pan.baidu.com/s/1ha-OGMa9AGZFamELP_b48w.
抽出コード: 3gpa
2. Rabbitmq をダウンロード。以下のリンクで Rabbitmq-server が提供されます。 -3.7 .4.exe
リンク: https://pan.baidu.com/s/1kGMjBc_H1QWRPEs8dRYaHA .
抽出コード: vzar
インストール手順 (図)
1. 最初のステップ:
otp_win64_20.2.exe をインストールし、
右クリックして管理者として実行します
次に、愚かなインストール 2 の次のステップをクリックし続けます。
ステップ 2:
Rabbitmq-server-3.7.4.exe をインストールする
ファイル Rabbitmq-server-3.7.4.exe、愚かなインストールをダブルクリックします (次の場所にインストールしないように注意してください)インストール後は、Windowsサービス上にrabbitMQが存在し、起動状態になっています。)
次に、管理インターフェース(プラグイン)をインストールします。
RabbitMQ インストール ディレクトリの sbin ディレクトリを入力し、
上のパス ボックスをクリックして cmd と入力し、Enter キーを押します。
3. コマンドを入力し、「Enter」をクリックします。
Rabbitmq-plugins は Rabbitmq_management を有効にします
ステップ 3:
1. サービスを再起動し、rabbitmq-server.bat をダブルクリックします (ダブルクリック後、しばらく待つ必要がある場合があります)。
2. ブラウザを開き、アドレスバーに http://127.0.0.1:15672 と入力すると、管理インターフェイスのログイン ページが表示されます。
ゲストがメイン インターフェイスに入るために、ユーザー名とパスワードを入力します。
上部のナビゲーションは次のとおりです: 概要、接続、チャネル、スイッチ、キュー、ユーザー管理
以上が全体的なインストールプロセスです
—————————————————
著作権表示: この記事は、CC 4.0 BY-SA 著作権契約に従って、CSDN ブロガー「Ordinary Netizen」によるオリジナルの記事です。 、原文とこの声明の出典へのリンクを添付してください。
元のリンク: https://blog.csdn.net/shuux666/article/details/124337419
RabbitMQ が提供する管理 HTTP API を使用する
RabbitMQ が提供する管理 HTTP API を使用するには、まず RabbitMQ でプラグインを有効にしてから、HTTP RESTful インターフェイスを通じて RabbitMQ サーバーを管理する必要があります。簡単な例を次に示します。
- RabbitMQ 管理プラグインを有効にする
RabbitMQ インストール ディレクトリの下の sbin ディレクトリで、次のコマンドを実行してrabbitmq-plugins enable rabbitmq_management
RabbitMQ 管理プラグインを有効にします。
- RabbitMQ 管理プラグインの Web 管理インターフェイスにアクセスします。
ブラウザに と入力しhttp://localhost:15672/
、デフォルトのアカウントとパスワードはそれぞれguest
とguest
、RabbitMQ Management プラグインの Web 管理インターフェイスにログインします。
- 仮想ホスト、スイッチ、キューを作成する
RabbitMQ 管理プラグインの Web 管理インターフェイスで、Administratior
テーマの下のインターフェイスをクリックし、Add a virtual host
ページを選択して、新しい仮想ホストを作成します。
[件名]でExchanges
、新しい交換を作成し、そのタイプと名前を選択します。これは、プロデューサーからメッセージを受信し、ルーティング キーに従ってキューにメッセージを配信するために使用されます。
Queues
トピックの下で、新しいキューを作成し、キュー名を選択して、それを交換のルーティング キーにバインドします。
- RabbitMQ 管理 API インターフェイスを呼び出す
Java プログラムでは、RestTemplate
RabbitMQ が提供するクラスを使用して RESTful API リクエストを送信し、RabbitMQ の API インターフェイスにアクセスできます。具体的な実装は以下の通りです。
//创建一个RestTemplate对象
RestTemplate restTemplate = new RestTemplate();
//设置RabbitMQ Management API地址
String apiUrl = "http://localhost:15672/api/";
//设置请求头(身份验证)
HttpHeaders headers = new HttpHeaders();
String authString = "guest:guest";
byte[] authEncBytes = Base64.encodeBase64(authString.getBytes());
String authStringEnc = new String(authEncBytes);
headers.set("Authorization", "Basic " + authStringEnc);
//设置请求体(消息内容)
JSONObject message = new JSONObject();
message.put("key", "value");
//发送HTTP POST请求
HttpEntity<String> request = new HttpEntity<String>(message.toJSONString(), headers);
String response = restTemplate.postForObject(apiUrl + "exchanges/vhostName/exchangeName/publish", request, String.class);
//请求成功
System.out.println(response);
上記のコードでは、RabbitMQ Management API のアドレスを設定し、それに HTTP POST リクエストを送信してメッセージを送信する必要があります。このうち、リクエストヘッダー(HTTP Header)に認証情報を設定し、リクエストボディ(HTTP Body)にメッセージ内容を設定する必要があります。リクエストが成功すると、RabbitMQ サーバーからの応答が受信されます。上記のコードの vhostName 変数とexchangeName 変数は、実際の仮想ホスト名とスイッチ名に置き換える必要があることに注意してください。