このトピックでは、ApsaraMQ for RocketMQでサポートされている機能について説明します。
概要
ApsaraMQ for RocketMQは、複数のAlibaba Cloudリージョンで高可用性メッセージキューイングサービスを提供します。 サービスの高可用性を確保するために、複数のデータセンターが1つのリージョンに配置されます。 1つのデータセンターが利用できない場合、アプリケーションはメッセージを公開およびサブスクライブできます。
ApsaraMQ for RocketMQは、TCPベースおよびHTTPベースのアクセスをサポートしています。 これにより、異なるプログラミング言語に基づいて開発されたアプリケーションは、ApsaraMQ for RocketMQにアクセスできます。 アプリケーションは、Alibaba Cloud ECSインスタンスまたはAlibaba Cloud外部にデプロイできます。 モバイル端末やIoTデバイスにアプリケーションを埋め込むこともできます。 次に、デプロイまたは組み込みのアプリケーションをApsaraMQ for RocketMQに接続できます。 これにより、これらのアプリケーションを使用してメッセージを公開およびサブスクライブできます。 インターネット経由でApsaraMQ for RocketMQにアクセスして、メッセージを送受信することもできます。
マルチプロトコルアクセス
TCP: TCPベースのSDKアクセスモードは、HTTPベースのアクセスモードよりも特殊で信頼性が高く、安定しています。 ApsaraMQ forRocketMQは、Java、C、C ++ 、およびのプログラミング言語を使用するクライアントをサポートしています。NETを使用します。
HTTP: RESTfulスタイルはHTTPに使用されます。 ApsaraMQ forRocketMQはHTTPベースのアクセスモードをサポートしています。 このモードは使いやすく、クロスネットワークアクセスのための強力な機能を提供します。 ApsaraMQ forRocketMQは、次のプログラミング言語を使用するクライアントをサポートしています。NET、Go、Python、Node.js、およびPHP。
管理ツール
メッセージタイプ
通常のメッセージ
通常のメッセージは、ApsaraMQ for RocketMQに特別な機能がないメッセージです。 これらは、スケジュールされたメッセージ、遅延されたメッセージ、順序付けられたメッセージ、およびトランザクションメッセージなどの特徴的なメッセージとは異なる。
スケジュールされたメッセージと遅延メッセージ
ApsaraMQ for RocketMQを使用すると、プロデューサーは、スケジュールまたは遅延メッセージが公開されるまでの待機時間を指定できます。 最大期間は40日です。
注文メッセージ
ApsaraMQ for RocketMQを使用すると、コンシューマは順序付きメッセージを先入れ先出し (FIFO) 順序で使用できます。 最初に公開されたメッセージが最初に消費されます。 順序付けられたメッセージは、部分的に順序付けられたメッセージとグローバルに順序付けられたメッセージに分けられる。
トランザクションメッセージ
ApsaraMQ for RocketMQは、X/Open XAと同様の分散トランザクション機能を提供し、トランザクションの一貫性を確保します。
表1. メッセージタイプ
メッセージタイプ | サポートのための信頼できる同期伝送 | サポートのための信頼できる非同期伝送 | サポートのための一方向伝送 | マルチスレッド伝送のサポート | 性能 |
通常のメッセージ | 可 | 可 | 可 | 可 | 最高 |
トランザクションメッセージ | |||||
スケジュールされたメッセージと遅延メッセージ | |||||
部分的に順序付けられたメッセージ | 可 | 任意 | 任意 | 任意 | 高い |
グローバルに順序付けられたメッセージ | 中 |
メッセージの特徴
メッセージの再試行: コンシューマーがメッセージの再試行の応答を返した後、ApsaraMQ for RocketMQは指定された再試行ルールに基づいてメッセージを再配信します。 詳細については、「メッセージの再試行」をご参照ください。
少なくとも1回の配信: ApsaraMQ for RocketMQは、各メッセージが少なくとも1回消費されるようにします。 ApsaraMQ for RocketMQは分散アーキテクチャに基づいて開発され、動的ネットワークを使用しているため、消費者は同じメッセージを複数回受信できます。 消費者がアプリケーションを再開する場合、消費者は同じメッセージを複数回受信することができる。 アプリケーションは、データにエラーや不一致を引き起こすことなく、同じメッセージを複数回処理する必要があります。 消費べき等性のベストプラクティスの詳細については、「メッセージべき等性」をご参照ください。
メッセージフィルタリング: ApsaraMQ for RocketMQでは、プロデューサーがApsaraMQ for RocketMQブローカーのトピックに送信するメッセージを分類するためのメッセージ属性を設定できます。 コンシューマーがトピックで指定された属性を持つメッセージをサブスクライブできるように、コンシューマーでフィルター条件を設定できます。 次に、ブローカは、プロデューサによって送信されたメッセージをフィルタリングし、指定された条件を満たすメッセージのみをコンシューマに配信する。
特徴
メッセージの照会: ApsaraMQ for RocketMQでは、メッセージID、メッセージキー、およびトピックでメッセージを照会できます。
メッセージトレースの照会: メッセージトレースは、プロデューサーからApsaraMQ for RocketMQブローカーに送信され、次にコンシューマーに送信されるメッセージに関するルーティング情報を記録します。 この方法で、発生した問題をトラブルシューティングできます。
クラスタリング消費とブロードキャスト消費: クラスタリング消費モードでは、ApsaraMQ for RocketMQのグループ内のランダムなコンシューマのみがメッセージを処理します。 ブロードキャスト消費モードでは、ApsaraMQ for RocketMQは、グループに登録されているすべてのコンシューマに各メッセージを公開します。 このようにして、メッセージは各コンシューマによって少なくとも1回消費される。
コンシューマーオフセットのリセット: オフセットを最新のメッセージに変更して、コンシューマーの累積メッセージをスキップできます。 オフセットを、時間内にコンシューマの前のポイントの対応するオフセットに変更することもできます。 消費は、指定したオフセットから始まります。
デッドレターキュー: 使用できないメッセージは、後続の処理のためにデッドレターキューに格納されます。
ダッシュボード: 豊富で包括的な多次元の統計メトリックを提供します。 インスタンス、トピック、およびグループのディメンションから、メッセージ作成メトリクス、メッセージ消費メトリクス、メッセージ蓄積メトリクスなどのメトリクスを表示できます。
モニタリングとアラート: ApsaraMQ for RocketMQのモニタリングとアラート機能を使用して、グループがサブスクライブし、アラートメッセージを受信するトピックのメッセージ消費ステータスをモニタリングできます。 これにより、メッセージの消費状況をリアルタイムで監視し、エラーをタイムリーに解決できます。