Alibaba Cloud Message Serviceは、大量のメッセージや同時操作をサポートする、高性能、信頼性、安全性、安全性、拡張性を備えた分散メッセージと通知サービスです。アプリケーション間のメッセージ転送とシステムのデカップリングを容易にするのに役立ちます。
メッセージサービスは2つのモデルを提供します:
キュー
ポイントツーポイントでメッセージを送受信するように設計されています。コンシューマはそれをプルダウンしてメッセージを受信します。
トピック
パブ/サブウェイでメッセージを送受信するように設計されています。メッセージはメッセージブローカーからコンシューマにプッシュされます。コンシューマーは、HTTP、キュー、SMS、電子メール、または携帯電話にすることができます。
キューモデルの概要
キューは、非常に並行したシナリオでポイントツーポイント方式でメッセージを消費するように設計されています。各メッセージは1回だけ受信できます。
キューモデルのイラストレーション
キューモデルの特性
A. 複数の属性
キューモデルは、通常のキュー、遅延キュー、プライオリティキューなど、さまざまなシナリオの要件を満たすさまざまなカスタマイズ可能な属性をサポートしています。
B. 大量の要求を同時にサポート
1つのキューは、多くのプロデューサまたはコンシューマによって同時にアクセスされることができ、1つのメッセージは、1つのコンシューマによってフェッチされた後、一定期間内に他のコンシューマによってフェッチできません。
C. メッセージ配信の確実性
キューに正常に送信されたメッセージは、少なくとも1回フェッチされ、他人からの不正アクセスを防ぐことが保証されています。
D. サポートトランザクションメッセージ
キューに送信されたメッセージをロールバックする機能を提供します。これにより、アプリケーションはトランザクションのロールバックを実行できます。
E. メッセージに対する操作のログ記録をサポートする
メッセージの送信、受信、削除の操作を照会するログ機能を提供します。デバッグに役立ちます。
F. Alibaba Cloud Watchをサポート
CloudWatchからキュー情報を取得し、アラートをカスタマイズできます。
トピックモデルの概要
トピックモデルは、あるパブリッシャから複数のサブスクライバにメッセージのパブリッシュ、サブスクリプション、および通知を提供するように設計されています。メッセージ通知のためのいくつかの方法をサポートしています:
- ユーザーが指定したHTTPサーバーにメッセージをプッシュします。
- メッセージをMNSキューにプッシュします。
- 電子メールアドレスまたは電子メールアドレスグループにメッセージをプッシュします。
- SMSを介して電話番号にメッセージをプッシュ(中国のみ)します。
- WebSocket経由でブラウザにメッセージを送ります(計画中)。
- モバイルデバイスにメッセージをプッシュします。
トピックのイラスト
トピックモデルの特徴
- 通知メッセージをサポートします。
- 1対多メッセージをサポートします。
- メッセージのためのサポートタグフィルタリングします。*メッセージをプッシュするさまざまな方法をサポートします。
- メッセージ配信を保証します。
- Alibaba Cloudサービスからのイベントメッセージのサポートをします。
- サポートログを管理します。
- Alibaba Cloud Watchをサポートします。
A. メッセージのサポート通知
メッセージサービスサーバーは、ユーザーが指定したHTTP URLにメッセージをプッシュします。このように、ユーザーのアプリケーションはメッセージブローカーサーバーをこれ以上処理する必要はなく、ユーザーがCPUなどのリソースを節約し、Message Service SDKへの依存を減らすのに役立ちます。
メッセージサービスサーバーは、ネットワークの問題によりユーザーがHTTP URLを提供するのに不便な場合、メッセージをトピックからキューにプッシュします。これにより、アプリケーションはキューからのメッセージを受信します。
B. 1対多メッセージをサポートします。
トピックに送信されたメッセージは、複数のコンシューマによってサブスクライブされ、コンシューマによって指定された方法で複数のエンドポイントにプッシュされます。
C. メッセージのフィルタータグ
トピックのEndpointを購読する場合、フィルタータグを指定することはできます。メッセージ送信時にはメッセージタグを指定した場合、Message Service は該当メッセージをメッセージタグとフィルタータグが一致したEndpointにのみプッシュします。購読時にEndpointにフィルタータグを指定しなかった場合、トピックにプッシュされたすべてのメッセージが受信されます。メッセージ送信時にメッセージタグを指定しなかった場合、すべてのEndpointに送信されます。
D. メッセージをプッシュするさまざまな方法をサポート
次の方法をサポートします。
- ユーザーが指定したHTTPサーバーにメッセージをプッシュします。HttpEndpointローカルデバッグツール、署名メカニズム、トピック操作を参照ください。
- MNSキューにメッセージをプッシュします。
- 電子メールアドレスまたは電子メールアドレスグループにメッセージをプッシュします。
- SMSを介して電話番号にメッセージをプッシュします。
- WebSocket経由でブラウザにメッセージをプッシュします(計画中)。
- モバイルデバイスにメッセージをプッシュします。
E. メッセージ配信の確実性
メッセージは、ユーザーが指定した計画と形式でプッシュされます。
プッシュ計画には次のものがあります。
- BACKOFF_RETRY:各メッセージの合計で3回(10〜20秒の間隔で)再試行します。
- EXPONENTIAL_DECAY_RETRY:メッセージごとに合計で176回再試行してください。隣接する再試行間の間隔は、1,2,4,8,16,32,64,128,256,512,512,512 …の順番で連続します。最大時間間隔は512秒です。
メッセージ形式には次のものがあります。
- XML:メッセージ本体はメッセージ属性を持つXML形式です。
- JSON:メッセージ本体はメッセージ属性を持つJSON形式です。
- SIMPLIFIED:メッセージ本文は生のテキストです。
F.Alibaba Cloudサービスからのイベントメッセージのサポートします。
メッセージサービスはイベント/通知機能を提供し、OSS(Object Storage Service)、DM(DirectMail)サービス、SLS(Simple Log Service)などの他のAlibaba Cloud Servicesなどが対象になります。クラウドリソースからイベントをサブスクライブすることができます。この機能を使用すると、ユーザーは、CreateObject、DeleteObject、UpdateObjectなど、OSSオブジェクトに対するイベント操作のルールを設定できます。
G.メッセージに対する操作のログ記録をサポートします。
メッセージのすべての操作は、SLSまたはOSSにログ保存されます。ユーザーはSLSのメッセージIDでメッセージログを照会できます。
H.Alibaba Cloud Watchをサポートします。
ユーザーはCloudWatchからトピック情報を取得し、アラートをカスタマイズできます。