Azure Service Fabric - 服务间通信与耦合

3
我正在学习Service Fabric,许多资源似乎都推广使用Service Fabric远程通信来促进服务间的交流。
然而,关于微服务架构的许多其他资源指出,应避免服务间通信,如果需要,则最好以异步方式进行(例如通过事件中心或服务总线)。这样,服务之间只有松散的耦合。
那么,Service Fabric远程通信是否会增加服务之间的紧密耦合,从而可能抵消微服务架构的一些优点并引入脆弱性呢?或者在使用Service Fabric时,这些缺点是否得到了某种程度的缓解?
1个回答

4
Coupling服务与运行时依赖会导致问题,如果其中一个目标服务不可用或不健康。SF内置了策略以处理不健康状况,并可以执行滚动升级,从而降低停机风险。
另一个方面是调用服务的服务共享模式。这也是一种耦合形式。更改服务的模式可能需要其调用者进行更改。SF无法减轻此问题。
有限上下文范围内一起工作的服务和Actor通常一起更改,因此在该范围内可能可以接受某些紧密耦合性。

当跨域通信时,我仍然建议使用事件驱动方法。可以在集群内部进行,也可以使用外部代理,如Azure Service Bus


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接