アーキテクチャを結合されたものから疎結合の SOA (WCF) に移行しています。相互に通信するいくつかのサービスがあります。サービス間でビジネス インスタンスをどのように同期しますか?
ここには 2 つのシナリオがあります。
すべてのビジネス オブジェクトは 1 つのサービスでのみ作成されます。それをMainServiceと呼びましょう。オブジェクトに加えられたすべての変更にアクセスできる唯一のサービスです。このサービスは、データベース内のオブジェクトの更新を担当します。オブジェクトが更新されると、通知が発生します。他のサービスは、必要なイベントに登録し、それに応じて通知を受け取ります。私はこれを集中型アプローチと呼んでいます。
+ 変更が行われるとすぐにサービスに通知する
- サービス間の呼び出しが多い。
- より多くのカップリング。すべてのサービスは、必要なオブジェクトをロードし、データベースに加えられた変更を定期的に監視します。私の考えは、SQL Server 2008 の変更追跡を使用して、オブジェクトに加えられた変更を検出することでした。
+ トラフィックが少なくなり、サービス間の通信の問題が発生する可能性があります。
+ 低結合
- 定期的な監視による遅延。
それで、これについてあなたの答えは何ですか?(3、4等があれば・・・それもいいですね)