Message Queue for RabbitMQ

Message Queue for RabbitMQ は、高可用性分散ストレージに基づいて開発されたメッセージングサービスです。 このサービスでは、AMQP0-9-1 プロトコルがサポートされています。 Message Queue for RabbitMQ は、オープンソースの RabbitMQ クライアントと互換性があります。 このサービスでは、メッセージの蓄積やスプリットブレインなど、オープンソースの RabbitMQ で発生しビジネスの安定性を損なうさまざまな問題を回避できます。 また、高い同時実行性、分散アーキテクチャ、自動スケーリングなど、クラウドメッセージングサービスの共通の利点も備えています。

新機能

新しいメッセージクエリ機能では、リアルタイムでメッセージを表示できます。

詳細を見る >
主要な機能

モニタリングとアラート機能では、インスタンス、仮想ホスト (vHosts) 、キューなどの、さまざまな項目のアラートがモニタリングおよびレポートされます。

詳細を見る >

メリット

オープンソースの RabbitMQ クライアントとの互換性

Message Queue for RabbitMQ は、AMQP 0-9-1 プロトコルをサポートし、すべての言語を使用して開発されたオープンソースの RabbitMQ クライアントと互換性があります。 このサービスは、オープンソースの RabbitMQ で作成されたキュー、交換、および仮想ホストをサポートします。

オープンソースの RabbitMQ で発生する問題の排除

RabbitMQ のメッセージキューは、多数のメッセージの蓄積をサポートします。 大量のメッセージが蓄積された場合、大量のメモリが消費され、停止する問題を回避できます。 Message Queue for RabbitMQ クラスターは、プライマリノードをサポートしない分散アーキテクチャを使用します。 オープンソースの RabbitMQ で発生する可能性のあるスプリットブレインの問題を回避できます。 このサービスは拡張性が高く、自動スケーリングをサポートします。 各キューは無制限のスループットをサポートします。

高性能

RabbitMQのMessage Queue は数百万のキューをサポートします。 各キューは、スケールアウト操作と無制限の同時リクエストをサポートします。 このサービスは非常にスケーラブルです。 キューあたりの最大 TPS は、キュー内のノード数に合わせて直線的に増加します。 自動スケーリングはビジネス要件に基づいて実行され、ユーザーが意識する必要はありません。 Message Queue for RabbitMQ クラスターは、大量のメッセージが蓄積された場合でも高い性能が維持されます。

高度な機能

Shovel を使用する場合と同様に、グローバルメッセージルーティング機能を使用できます。 この機能は安定性と信頼性が高く、数回のクリックでキューから別のキューに転送、または交換できます。 転送元と転送先が異なるインスタンスまたはリージョンに属していても構いません。 メッセージの再試行回数が指定されたしきい値を超えると、メッセージはデットレターキューに入ります。 このメカニズムは、単一のメッセージを消費できないときにシステムが新しいメッセージを消費できないという問題を防ぐものです。

Message Queue for RabbitMQ とオープンソースの RabbitMQ の比較

項目 Message Queue for RabbitMQ オープンソースの RabbitMQ
プロトコル AMQP 0-9-1 AMQP 0-9-1、AMQP 1-0
クライアント すべてのバージョンとすべての言語のオープンソースクライアント すべてのバージョンとすべての言語のオープンソースクライアント
システムアーキテクチャ Message Queue for RabbitMQ は 、プライマリノードが存在しない分散クラスターでサービスを提供します。 クラスター内のすべてのノードが同等のサービスを提供します。 オープンソースの RabbitMQ は、Erlang を使用して開発されています。 サービスの使用時に発生する問題は解決が困難です。 高可用性モードでデプロイされたオープンソースの RabbitMQ クラスターはスケールアウトできません。 この点がパフォーマンスのボトルネックとなります。 オープンソースの RabbitMQ は、サービスの提供時にメモリを消費します。 そのため、ビジネスの安定性を低下させるさまざまな問題が発生する可能性があります。
メッセージの蓄積 多数のメッセージが蓄積しても、クラスターの性能は低下しません。 オープンソースの RabbitMQ は、大量のメッセージの蓄積をサポートしていません。 大量のメッセージが蓄積された場合、大量のメモリが消費され、停止する可能性があります。
スケーリング 各キューは、無制限の TPS をサポートし、スケールアウトできます。 このサービスは、高度にスケーラブルなインスタンスを提供し、ユーザーが意識する必要のない自動スケーリングをサポートし。 ミラーキュークラスターで処理可能な最大同時クエリ数を増やすには、サーバー構成をアップグレードする必要があります。
スプリットブレイン クラスターにプライマリノードがなく、クラスター内のすべてのノードが同等のサービスを提供しているため、スプリットブレインの問題は発生しません。 クラスターのハートビートは、さまざまな理由で失われる可能性があります。 そのため、スプリットブレインの問題が発生する可能性があります。 システムが復旧すると、サービスが中断され、データが失われる可能性があります。
可観測性 Message Queue for RabbitMQ は、モニタリングおよびアラート機能を備えています。 Prometheus が統合され、インスタンス、仮想ホスト、交換、キューなど、複数の次元でメッセージングをモニタリングできます。 メトリクスには、メッセージレート、累積メッセージ数、接続数、チャネル数、および各 API 呼び出しの QPS が含まれます。 API を呼び出してメトリクスを照会し、モニタリングデータに基づいてモニタリングおよびアラートシステムを構築できます。 Prometheus は RabbitMQ V3.8.0 以降に統合されています。 ただし、詳細なモニタリングとアラートはサポートされていません。

特徴

オープンソース RabbitMQ と完全に互換

Queue

メッセージを Queue に保存し、メッセージを保存するためのパーティションを提供します。 取得者はクラスターごとにメッセージを取得できます。

Exchange

Exchange を queue にバインドして、バインドキーを指定できます。 こうすることで、exchange は特定のルーティングルールに一致するメッセージをフィルタリングし、メッセージを 1 つ以上の queue にルーティングします。 Exchange は、ルールに一致しないメッセージをドロップすることもできます。

仮想ホスト (vHost)

vHosts を使用して、本番と検査の分離やサービスの分離などの分離の要件を満たします。

さまざまなタイプの Exchange

Fanout Exchange

現在の exchange がバインドされているすべての queue にメッセージをルーティングします。

Direct Exchange

binding key が メッセージの routing key と同一のメッセージを queue にルーティングします。

Topic Exchange

メッセージの routing key と現在の exchange の binding key の間のあいまい一致結果に基づいて、メッセージを 1 つ以上の queue にルーティングします。

完全な O&M ツール

問題の特定と解決を支援する、便利且つ操作簡単な一連の O&M ツールです。

モニタリングとアラート

アクティブな接続、メッセージの蓄積、メッセージ配信の遅延がモニタリングされるため、問題を素早く特定できます。

リソースレポート

デバイスのクエリ、グループ別のデバイス管理、受信 & 送信したメッセージの統計の収集ができます。

RESTful API

セルフサービス型リソース管理と O&M、および RESTful API を提供します。

高品質なサポート

1 対 1 のプリセールスコンサルティング、24 時間体制のテクニカルサポート、迅速な応答、チケット増量

1 対 1 のプリセールス
コンサルティング

経験豊富なクラウドエキスパートによるコンサルティング。 詳細を見る

24 時間体制の
テクニカルサポート

週 5 日 10 時間から 24 時
間 365 日にサービス時間を
延長。 詳細を見る

各四半期に 6 枚の無料
チケット

無料チケットの数を、四半期ごとに 3 枚から 6 枚に倍増。 詳細を見る

迅速な応答

販売後の応答時間を 36 時間から 18 時間に短縮。
詳細を見る