分布式事务

1、   强一致性:2pc提交,会锁定涉及到事务的资源,造成堵塞。

TransactionScope(.net framework有,core没有,限制在windows)是其中一种实现方法

2、   弱一致性:

tcc(try-confirm-cancel):一个接口变三个接口,try接口、提交接口、取消接口

saga

3、   最终一致性:base理论(基本可用,中间允许存在软状态,最终一致性)

基于本地消息表分布式事务(MQ分布式事务)

Ncc-cap:把其他服务要做的事写进本地数据库(publish表),跟本服务要做的事合成一个本地事务(一起成功或一起失败),cap负责把publish表的数据发送到MQ(rabbitmq、kafka),然后其他服务读取MQ里的数据写进本地数据库(receive表),再结合本服务要做的事合成本地事务,还可以继续发布数据到本地publish表,供其他服务消费。

4、   Tidb(分布式数据库)

如果一套微服务只对应一个tidb集群,则可以不考虑分布式事务了,如果有不止一个tidb集群,再采用基于本地消息表分布式事务。

posted @ 2022-03-15 20:45  暗,伏!  阅读(47)  评论(0编辑  收藏  举报