注:この問題は、同じシナリオを提示する一連の問題の一部です。このシリーズの各問題には、それぞれ固有の解答が含まれています。解答が提示された目標を満たしているかどうかを判断してください。
あなたは、ユーザーが仮想不動産を購入・取引できるエンターテイメントアプリケーションを開発します。このアプリケーションは、数千人のユーザーをサポートできる拡張性を備えている必要があります。
現在のアーキテクチャには、アカウント情報用の Azure SQL データベースとバックエンド サービス用の Azure Table Storage に接続する 5 つの Azure 仮想マシン (VM) が含まれています。ユーザーは、クラウド内でこれらのコンポーネントといつでもやり取りします。ルーティング サービス - リクエストを適切なサービスにルーティングし、セッション間でデータを永続化してはなりません。アカウント サービス - すべてのアカウント情報と認証を保存および管理し、セッション間でデータを永続化する必要があります。
ユーザーサービス - すべてのユーザー情報を保存および管理し、セッション間でデータが保持される必要がある。
住宅ネットワークサービス - 現在の不動産経済状況を保存および管理し、セッション間でデータが保持される必要がある。
トレードサービス - アカウント間の仮想取引を保存および管理し、セッション間でデータが保持される必要があります。
ユーザーのトラフィックが変動しやすいことから、拡張性を考慮してマイクロサービスソリューションが選択されました。
Azure Service Fabric 上の分散型マイクロサービスソリューションに移行する必要があります。
解決策:ルーティングサービス用にステートレスな信頼性の高いサービスを備えたService Fabricクラスタを作成します。
その他のすべてのコンポーネントに対して、ステートフルな信頼性の高いサービスを作成します。
その解決策は目標を達成しているか?
正解:A
We should use stateful services when we want data to persist, and stateless service when data must not persist.
Note:
For stateful services, the Reliable Services programming model allows you to consistently and reliably store your state right inside your service by using Reliable Collections.
A stateless service is one where there is no state maintained within the service across calls. Any state that is present is entirely disposable and doesn't require synchronization, replication, persistence, or high availability.
References:
https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-services-introduction