まとめ
このモジュールでは、株価サービスの設計をポーリングベースからプッシュベースに更新しました。 目標は、データの変更が使用できるようになったらすぐに、Web クライアントを自動的に更新することでした。
最初に、スケジュールに基づいて株価の変更を検索していた既存のソリューションの制約について学習しました。 その後、ポーリングを SignalR Service ベースのソリューションに置き換えました。これでは、変更が使用可能になったときにクライアントに更新がプッシュされます。 最後に、Azure Storage でホストされている静的な Web サイトを使用して、クラウドにソリューションをデプロイしました。
ソリューションでは Azure Cosmos DB と Azure Functions を SignalR と組み合わせて使用し、データベースの変更を検出してブロードキャストします。
この新しいアプリケーション アーキテクチャには、アプリケーションにとって次のような利点があります。
- データが変更されたときにのみ、クライアントとサーバー間の通信が行われる、効率的な Web アプリケーション アーキテクチャ。
- Azure Cosmos DB トリガーによって Azure Cosmos DB から送信される変更フィードを、Azure Functions を使ってリッスンする、シンプルなデータ変更検出。
- SignalR を通じて新しいブラウザーと古いブラウザーが広範にサポートされるサーバー プッシュ アーキテクチャ。
- 応答時間が改善され、UI を自動的に更新する時間が 0.5 秒強に短縮される。
実装を確認するために、client-end フォルダーと server-end フォルダーを参照するか、GitHub でコードを表示できます。
クリーンアップ
このモジュールを完了したら、サンド ボックスは、リソースを自動的にクリーンアップします。
独自のサブスクリプションを使用している場合は、プロジェクトの最後に、作成したリソースがまだ必要かどうかを確認してください。 リソースを実行したままにすると、コストが発生する可能性があります。 リソースを個別に削除するか、リソース グループを削除してリソースのセット全体を削除することができます。
詳細情報
- Azure Functions の Azure Cosmos DB 入力バインディングの詳細を確認してください