P-04課題解決

アプリケーション間の非同期連携にRabbitMQをどう使えますか?

RabbitMQはAMQP 1.0やMQTT 5.0など複数の標準プロトコルに対応するブローカーとして使えます。GitHubの説明では、AMQP 0-9-1、STOMP、MQTT 3.1〜5.0、WebSocket版も扱えるとされ、異なるクライアントを一つのブローカーに接続する構成が公式資料から読み取れます。また、メッセージを繰り返し読み取りたい用途ではStreamsを選べると公式ドキュメントに記載されています。具体的な構成や性能は、用途ごとに公式ドキュメントでの確認が必要です。

実績・根拠

向いている相談

非同期メッセージ連携でのRabbitMQの機能面の使いどころ(公式資料に記載された範囲)

他の選択肢との違い

導入事例や性能値は本回答の根拠資料に含まれていないため、利用判断には別途検証が必要。

よくある質問

複数のプロトコルを使うクライアントを同じRabbitMQに接続できますか?
GitHubの説明では、AMQP 1.0、AMQP 0-9-1、MQTT、STOMPなど複数プロトコルに対応するマルチプロトコルのブローカーとされています。
メッセージを後から再度読み取りたい場合は?
公式ドキュメントでは、Streamsが期限切れまで繰り返し読み取れるデータ構造として説明されています。

情報ソース

アプリケーション間の非同期連携にRabbitMQをどう使えますか? | RabbitMQ | RefBase