このトピックでは、ApsaraMQ for RabbitMQ のメリットについて説明します。オープンソースの RabbitMQ と比較した ApsaraMQ for RabbitMQ の利点を理解するのに役立ちます。
使いやすさ
- すぐに使える
Message Queue for RabbitMQ は、Advanced Message Queuing Protocol (AMQP) 0-9-1 およびオープンソースの RabbitMQ と完全に互換性があります。これにより、オープンソースの RabbitMQ クラスタをクラウドに簡単に移行できます。
- フルマネージド
ApsaraMQ for RabbitMQ はワンクリックで有効化できます。サービスのデプロイやメンテナンスを行うことなく、サービスを使用できます。サービスのメンテナンスは、Alibaba Cloud の専門の自動化された O&M チームによって行われます。このサービスは、コアリンクの秒単位または分単位での多次元検査をサポートし、包括的なヘルス診断レポートを提供し、異常な状態が発生したときにアラートを生成し、アラートをタイムリーに処理します。これにより、サービスの可用性とビジネスの継続性が確保されます。
高可用性
- Message Queue for RabbitMQ は、複数ゾーンでの高可用性を確保するために、サービスレベルアグリーメント (SLA) を提供します。Message Queue for RabbitMQ は、データセンター全体が使用できない場合でも、メッセージングサービスを提供できます。
- クラスタは分散モードでデプロイされます。複数のサービスノードがデプロイされ、すべてのサービスノードはステートレスです。ノードが使用できなくなった場合、フェイルオーバーリクエストが開始され、別のノードに切り替わります。このようにして、サービスは影響を受けません。
機能強化
- 遅延メッセージ
- メッセージは秒単位の精度で遅延させることができます。先入れ先出しの制限は、遅延メッセージには適用されません。
- コードでパラメータを設定するだけで、メッセージを遅延させることができます。これは、オープンソースの RabbitMQ が遅延キューをサポートしていないという問題を解決します。
- メッセージの遅延時間は、数秒から 1 日まで設定できます。
- 遅延メッセージのパフォーマンスは、通常のメッセージのパフォーマンスと一致します。
- 各遅延メッセージには複数のレプリカがあり、迅速な復元とデータの信頼性を確保します。
- メッセージ再試行
- 各メッセージは最大 16 回再試行でき、各再試行には 1 分かかります。
- メッセージが再試行の上限に達した後も消費に失敗した場合、メッセージは自動的にデッドレターキューに送信されます。デッドレターキューからメッセージをクエリおよびエクスポートできます。
- デッドレター交換
拡張デッドレター交換が使用されます。否定応答されたメッセージと再試行の上限に達したメッセージは、自動的にデッドレター交換に送信されます。これにより、メッセージの損失を防ぎます。
高パフォーマンス
- プラットフォームレベルのパフォーマンス
数百万のキューがサポートされています。ブローカーの TPS 容量を拡張して、線形のパフォーマンス向上を実現できます。同時リクエスト数に制限はありません。
- 単一キューのスケールアウト
単一キューの TPS 容量を拡張できます。単一キューの同時リクエスト数に制限はありません。これにより、オープンソースの RabbitMQ における単一キューのパフォーマンスのボトルネックが解消されます。
- 自動スケーリング
このサービスは、ユーザーにとって透過的な自動スケーリングをサポートしています。高いスケーラビリティにより、線形のパフォーマンス向上を実現できます。
- メッセージの蓄積
- 大量のメッセージが蓄積されても、クラスタのパフォーマンスや通常の動作には影響しません。
- プロデューサーとコンシューマーは分離されています。これにより、プロデューサーが大量のメッセージを同時に送信する場合でも、安定したメッセージ消費が保証されます。
高いセキュリティと信頼性
- アクセス制御
インスタンス、vhost、キュー、および交換レベルで権限を付与できます。アクセス制御は、各メッセージリクエストで実装されます。
- Alibaba Cloud アカウントと RAM ユーザー
Alibaba Cloud アカウントと RAM ユーザーは、必要な権限が付与された後にのみサービスにアクセスできます。このサービスは、ホワイトリストベースのアクセス制御、ブラックリストベースのアクセス制御、および Security Token Service (STS) をサポートしています。
- 暗号化転送
Transport Layer Security (TLS) を使用して、暗号化転送をサポートできます。