栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

.NET Core 不支持分布式事务

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

.NET Core 不支持分布式事务

文章目录

.NET Core 不支持分布式事务

事实问题计划影响扩展阅读

.NET Core 不支持分布式事务 事实

.NET framework支持分布式事务(Distributed Transactions),但是很遗憾(尴尬)的是.NET Core(包括.NET 5和.NET 6)都还不支持分布式事务。

问题

这个问题从.NET Core发布后就一直存在,可见在跨平台的分布式事务支持是一件非常复杂的事情。参见:

https://github.com/dotnet/runtime/issues/19318https://github.com/dotnet/runtime/issues/715 计划

现在有一个好消息是在未来的.NET 7版本中,已经计划优先在Windows平台上支持分布式事务,然后再在跨平台上支持分布式事务。

参见:

​ https://docs.microsoft.com/zh-cn/ef/core/what-is-new/ef-core-7.0/plan#distributed-transactions 影响

在微服务中,可以通过良好的微服务划分和事务边界(transaction boundary)来避免处理跨微服务的分布式事务的问题。

如果不得不处理,也可以采用Saga模式。

事实上,2PC (two-phase commit) 并不是微服务事务问题的好方案。

扩展阅读

在Data Consistency in Microservices Architecture (Grygoriy Gonchar) 中提出了按以下优先级处理分布式事务问题:

    Consistency by design

    a. Accept inconsistency when possible

    b. Make operations reversible and idempotent

    Change single datasource at the time

    a. Change-first (Change Data Capture, CDC)

    b. Event-first (Event-drive Architecture, EDA or CQRS)

    Sagas - compensate & reconcile

    a. Orchestration

    b. Choreography

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/737632.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号