我正在将我的架构从耦合一迁移到松耦合的 SOA (WCF)。我有几个相互通信的服务。您将如何在服务之间同步业务实例?
我在这里看到两种情况:
所有的业务对象都只在一个服务中创建,我们称之为MainService,它是唯一可以访问对对象所做的所有更改的服务。该服务负责数据库中对象的更新。对象的任何更新都会引发通知。其他服务注册到他们需要的事件并得到相应的通知。我称之为集中式方法。
+ 更改完成后立即通知服务
- 服务之间的大量调用。
- 更多的耦合。所有服务只是加载他们需要的对象并定期监视数据库以了解对它们所做的任何更改。我的想法是使用 sql server 2008 的更改跟踪来检测对对象所做的任何更改。
+ 更少的流量和服务之间可能的通信问题。
+ 较少耦合
- 由于定期监测而延迟。
那么,您对此有何回答?(如果你有 3、4 等……那也很好)