Azure Service Fabric - 服务互通和耦合

标签 azure azure-service-fabric

我正在学习 Service Fabric,许多资源似乎都可以使用 Service Fabric 远程处理来促进服务间通信。

然而,有关微服务架构的许多其他资源都指出,应避免服务间通信,并且如果需要,理想情况下应仅以异步方式进行(例如通过事件中心或服务总线)。通过这种方式,服务只是松散耦合的。

Service Fabric 远程处理是否会促进服务之间更紧密的耦合,从而可能抵消微服务架构的一些优势并引入脆弱性?或者使用 Service Fabric 时这些缺点是否会以某种方式得到缓解?

最佳答案

如果目标服务之一变得不可用或不健康,则将服务与运行时依赖项耦合在一起会导致问题。

顺丰已内置strategies应对不健康状况并可以进行滚动升级,从而降低停机风险。

另一个方面是服务调用服务共享一个模式。这也是耦合的一种形式。更改服务的架构可能需要其调用者也进行更改。 SF 并没有缓解这个问题。

bounded context 内协同工作的服务和参与者通常会一起更改,因此在这个范围内,一些紧密耦合是可以接受的。

跨域通信时,我仍然建议使用 Event Driven方法。要么 within集群,或使用外部代理,如 Azure Service Bus .

关于Azure Service Fabric - 服务互通和耦合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49516375/

相关文章:

.net - Azure Service Fabric 和消息队列

azure - 安全集群上的 Register-ServiceFabricApplicationType 始终超时

azure - Azure 服务总线是否可在 Azure Stack(本地)上使用

entity-framework - Entity Framework 二级缓存和Windows Azure缓存

azure - 使用 Terraform 的同一 VNet 中的多个子网

azure-service-fabric - 在服务结构中,仅读取值时是否需要调用 CommitAsync?

node.js - 将大型 Node 模块添加到 Azure 函数

c# - Application Insights Profiler 和 "AWAIT_TIME"

c# - 如何从 C# 执行 Service Fabric Powershell 命令?

azure-service-fabric - 使用 Service Fabric 远程处理捕获自定义异常