![](https://img-blog.csdnimg.cn/20210415215902393.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Seata
文章平均质量分 77
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。
CodingAnHour
明日复明日,明日何其多。我生待明日,万事成蹉跎。
展开
-
Seata分布式事物(四)解决RPC+feign跨服务调用提供者无XID无法回滚问题
事务传播Seata 全局事务的传播机制就是指事务上下文的传播,根本上,就是 XID 的应用运行时的传播方式。跨服务调用场景下的事务传播,本质上就是要把 XID 通过服务调用传递到服务提供方,并绑定到 RootContext 中去。只要能做到这点,理论上 Seata 可以支持任意的微服务框架。只要是同一个请求链路,可以将XID作为传输参数传递给服务提供者业务方法中获取XID,如下示例调用者@RequestMapping(value = "testDataApi")@GlobalTr原创 2021-04-16 23:38:07 · 2139 阅读 · 0 评论 -
Seata分布式事物(三)TCC事务模式执行机制
Seata的AT模式基本上能满足我们使用分布式事务80%的需求,但涉及不支持事务的数据库与中间件(如redis)等的操作,或AT模式暂未支持的数据库(目前AT支持Mysql、Oracle与PostgreSQL)、跨公司服务的调用、跨语言的应用调用或有手动控制整个二阶段提交过程的需求,则需要结合TCC模式。不仅如此,TCC模式还支持与AT模式混合使用。1、TCC模式的概念一个分布式的全局事务,整体是两阶段提交Try-[Comfirm/Cancel] 的模型。在Seata中,AT模式与TCC模式事实上都是两原创 2021-04-16 23:09:22 · 591 阅读 · 2 评论 -
Seata分布式事物(二)AT事物模式工作机制读隔离、写隔离
1、AT 模式的前提:1、基于支持本地 ACID 事务的关系型数据库;2、Java 应用,通过 JDBC 访问数据库;2、整体机制是两阶段提交协议的演变:一阶段:“业务数据”和“回滚日志”在一个本地事务中提交,释放本地锁(相当于数据库行锁)和连接资源;(本地事务,就已经在数据库持久化了)二阶段:如果没有异常:提交异步化,非常快速地完成;(正常情况,那就提交了,同步一下TC Server的状态,删除回滚日志)如果有异常:回滚通过一阶段的回滚日志进行反向补偿;(通过undo_log原创 2021-04-16 21:23:49 · 1432 阅读 · 0 评论 -
Seata分布式事物(一)基础信息介绍、docker部署SeataServer注册到nacos
1、什么是本地事物一般情况一个进程中操作一个数据库,属于本地事务@Transactional 是本地事务,在分布式系统,只能控制住自己的回滚,控制不了其它服务的回滚,所以,是有局限性的,如果方法里边需要调用其它服务的操作,则要使用分布式事务。1.1、数据库事务特性 ACID - A(Atomic):原子性,构成事务的所有操作,要么都执行完成,要么全部不执行,不可能出现部分成功部分失败的情况。- C(Consistency):一致性,在事务执行前后,数据库的一致性约束没有被破坏。比如:张三向李四原创 2021-04-08 23:36:07 · 349 阅读 · 0 评论