分布式事务
文章平均质量分 91
分布式事务分析
EmineWang
计算机专业,资深java开发工程师,从事后端开发、架构方向,热爱技术,热爱分享,愿对你有所帮助,感恩大家的支持,欢迎来信交流~~
展开
-
seata分布式事务原理分析
原理seata涉及到三个角色之间的交互,本文通过流程图将AT模式下的基本交互流程梳理一下,为我们以后的解析打下基础。假设有三个微服务,分别是服务A、B、C,其中服务A中调用了服务B和服务C,TM、TC、RM三者之间的交互流程如下图:1、服务A启动时,GlobalTransactionScanner会对有@GlobalTransaction注解的方法进行AOP增强,并生成代理,增强的代码位于GlobalTransactionalInterceptor类中,当调用@GlobalTransaction注原创 2021-05-14 02:00:06 · 1056 阅读 · 1 评论 -
分布式事务-XA协议和MQ分布式事务解决
分布式事务分布式事务常用于分布式系统中,保证各个节点之前数据一致性。比较代表的是oracle提出的XA分布式事务协议XA协议包含两阶段提交(2PC)和三阶段提交(3PC)两种实现,这里我们重点介绍两阶段提交的具体过程。在XA分布式事务的第一阶段prepare1.作为事务协调者(事务管理器)会首先向所有的参与者(资源管理器)发送Prepare请求,通知他们开始准备事务。2.事务参与者受到接收到消息后开始准备,写好日志并且开始执行事务,但是不提交,然后将是否就绪的消息返回事务管理器。(此时事务已经大部原创 2021-05-14 01:58:29 · 483 阅读 · 0 评论 -
事务传播特性和隔离级别
事务有以下几个常用属性:a.read-only:设置该事务中是否允许修改数据。(对于只执行查询功能的事务,设置为TRUE可以提高事务的执行速度)b.propagation:事务的传播机制。一般设置为required。可以保证在事务中的代码只在当前事务中运行,防止创建多个事务。c.isolation:事务隔离级别。不是必须的。默认值是default。d.timeout:允许事务运行的最长时间,以秒为单位。e.rollback-for:触发回滚的异常。f.no-rollback-for:不会触发回滚原创 2021-05-07 18:14:50 · 281 阅读 · 0 评论