RabbitMQ
AMQP、MQTT、STOMP に対応し、信頼性の高いキューとルーティング、Pub/Sub メッセージングでサービスを疎結合にする、成熟した広く導入されているメッセージブローカーです。
概要
RabbitMQ は、アプリケーションが直接互いを呼び出す代わりに、キューやエクスチェンジにメッセージを発行することで非同期に通信できるようにする汎用メッセージブローカーです。AMQP 0-9-1、AMQP 1.0、MQTT、STOMP という複数のメッセージングプロトコルを実装しているため、異なる言語やフレームワークで書かれたプロデューサーとコンシューマーが同じブローカーを介してメッセージをやり取りできます。
エクスチェンジとバインディングによるルーティングモデルは、一般的なメッセージングパターンを標準でサポートします。ワーカー間でバックグラウンドジョブを分散させるシンプルなワークキュー、複数のコンシューマーへのファンアウトを行う Pub/Sub、より選択的な配信のためのトピックベースのルーティングなどです。RabbitMQ は高可用性のためにクラスタを組むことができ、管理 UI と CLI ツールによって、キューの深さ、コンシューマー数、メッセージの流れを本番環境で簡単に確認できます。
RabbitMQ は、サービスを疎結合にして負荷を平準化する――例えば時間のかかる処理をバックグラウンドのコンシューマーに任せる――ための、従来型で実績のあるタスクキューやメッセージブローカーを必要とするチームに向いています。高スループットなイベントストリーミングとリプレイのために構築された分散ログを求める場合は、カタログ内の Apache Kafka の方が近い選択肢になります。
- カテゴリ
- バックエンド
- 言語
- Erlang
- ライセンス
- MPL-2.0
関連プロジェクト
Apache Kafka
Apache-2.0データを永続的で再生可能なログとして保存する分散イベントストリーミングプラットフォームで、従来の1対1のキューイングではなく高スループットなリアルタイムパイプライン向けに構築されています。
- バックエンド
Dapr
Apache-2.0状態管理、Pub/Sub メッセージング、サービス呼び出し、ワークフローといったマイクロサービスの構成要素を、任意の言語からサイドカー API 経由で利用できるポータブルなランタイムです。
- バックエンド
NATS
Apache-2.0シンプルさと低い運用負荷を重視して構築された、クラウドネイティブアプリケーション向けの軽量で高性能なメッセージングシステムです。
- バックエンド
Apache RocketMQ
Apache-2.0非常に高いスループットで金融グレードのトランザクション信頼性を実現するために構築された、分散型メッセージング・ストリーミングプラットフォームです。
- バックエンド
誤りを見つけましたか? GitHub で修正を提案する