Service Fabric 是否提供分布式事务的机制?
Does Service Fabric provide a mechanism for distributed transactions?
我们有一组微服务,它们都通过 REST API 进行通信。每个服务都将作为 Service Fabric 中的有状态参与者实现,并且每个服务都可以访问我们在 Service Fabric 中拥有的可靠集合。这些服务必须以事务方式运行。我们现在正在构建这个解决方案,并且存在关于 Service Fabric 进行分布式事务协调的能力的争论。如果不支持分布式事务(正如一些人所声称的那样),那么将使用 Nuget 包来构建解决方案来更新功能。我认为这几乎像旧的 COM 组件一样有其自身的一系列问题。
Service Fabric 是否具有使用 Web API 通信的有状态服务的分布式事务协调器?
否,SF 事务在服务副本级别上工作。也许仲裁让人们感到困惑,尽管这感觉像是分布式事务,但它不是您作为开发人员可以使用的东西。
Strong consistency is achieved by ensuring transaction commits finish
only after the entire transaction has been logged on a majority quorum
of replicas, including the primary.
注:
分布式事务导致更多issues than they solve, I'd recommend you read about Event Driven Architectures。
我们有一组微服务,它们都通过 REST API 进行通信。每个服务都将作为 Service Fabric 中的有状态参与者实现,并且每个服务都可以访问我们在 Service Fabric 中拥有的可靠集合。这些服务必须以事务方式运行。我们现在正在构建这个解决方案,并且存在关于 Service Fabric 进行分布式事务协调的能力的争论。如果不支持分布式事务(正如一些人所声称的那样),那么将使用 Nuget 包来构建解决方案来更新功能。我认为这几乎像旧的 COM 组件一样有其自身的一系列问题。
Service Fabric 是否具有使用 Web API 通信的有状态服务的分布式事务协调器?
否,SF 事务在服务副本级别上工作。也许仲裁让人们感到困惑,尽管这感觉像是分布式事务,但它不是您作为开发人员可以使用的东西。
Strong consistency is achieved by ensuring transaction commits finish only after the entire transaction has been logged on a majority quorum of replicas, including the primary.
注:
分布式事务导致更多issues than they solve, I'd recommend you read about Event Driven Architectures。