質問・問題
Message Notification Service と query Method の違いについて教えてください。
回答・解決方法
Cloud Recording の状態監視する手段として、query method または Message Notification Service を使う方法が用意されています。どちらの場合も次のような長所・短所があります:
query method
周期的に query を呼び出して Cloud Recording の状態監視が可能となります。
Cloud Recording RESTful API リファレンス
利点:
- 高い信頼性
欠点:
- 提供できるステータス情報が限られます
- アクティブなクエリ発行となります。また Queries Per Second (QPS) の制約上、クエリを大量に発行する事はできません。そのため、Message Notification Service と比べてリアルタイム性は損なわれます
- Cloud Recording のステータスの信頼性を重視する場合、Agora では query method の利用を強くお勧めします
Message Notification Service
Message Notification Service は、サービスの状態監視を補助 (補完) する為の手段として使用することができます。ご利用にはイベント通知を受け取る HTTPS サーバーを設定する必要があります。
利点:
- 高いリアルタイム性
欠点:
- サーバーは受動的に通知を受信する形となり、万一ネットワーク障害等が発生した場合に通知ロスが発生する事があります
- 通知配信の確認メッセージがロスした場合に、同じ通知が配送されることがあります。この場合、お客様側で通知を重複排除する必要があります
- 通知が正しい順番でサーバーに届かない場合があります
※ Agora では、コアアプリは Message Notification Service に依存しないことを推奨しています。既に Message Notification Service に高く依存した構成の場合、redundant message notification を有効にすることで通知量を 2 倍にし通知ロスを低減するオプションがあります。但し、この方法でも 100% の到達率を保証するものでないことにご注意ください。
詳しくは Agora Cloud Recording RESTful API Callback Service をご覧ください。