分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。 其原理主要涉及到多个部分。首先是事务协调器,它就像一个总指挥,负责整个分布式事务的执行过程。当一个分布式事务开始时,事务协调器会向各个参与者发送事务开始的指令。 以经典的两阶段提交(2PC)为例: - 准备阶段:协调器要求每个参与者准备提交事务,也就是执行事务中的操作,但不提交。参与者会检查自身是否可以完成这个事务操作,比如检查资源是否足够等。如果可以执行,就会将执行结果(通常是“同意提交”或“中止事务”)反馈给协调器。 - 提交阶段:协调器收到所有参与者的反馈后,如果所有参与者都同意提交,协调器就会发送提交指令,让所有参与者真正提交事务;只要有一个参与者反馈不能提交,协调器就会发送中止指令,让所有参与者回滚事务。 还有三阶段提交(3PC),它是在2PC的基础上进行改进,把准备阶段再次细分,多了一个预提交阶段,目的是降低参与者在等待协调器指令时的不确定性,减少阻塞时间,不过实现起来更加复杂。
点赞 评论

相关推荐

11-02 20:28
门头沟学院 Java
也是实习转正,已oc行云集团 一面1.自我介绍2.自选cursor/Claude code/idea ai编程插件,在线投屏完成编程题目:3.项目中,线程池的作用4.用了线程池和不用线程池区别5.线程池的构造方法有哪些参数,作用6.拒绝策略有哪些7.AQS原理8.基于AQS实现的类9.CAS原理,会出现的问题,ABA10.有哪些加锁的方式11.ReentrantLock和@synchronized区别12.JVM分为哪些内存区域13.使用过的数据库有哪些14.索引有哪些类型15.加索引一定会生效吗16.事务的特性17.开启事务的方法18.什么情况下事务会失效,先开启事务还是先开启锁,反过来会有什么问题19.慢接口如何排查优化反问:公司技术栈,负责的业务,对面试的评价项目和实习都没怎么问,ai开发的题目挺简单的,前面边ai开发会边问常用的mcp,还有prompt怎么写的,平时怎么使用的,配置在哪里,有没有了解过Subagent,ai的问题比较多,但是都挺简单的————————————————————行云集团 二面1.自我介绍2.学校经历3.一面没答出的问题重新回答4.根据面试官投屏的代码,说有什么问题:(有5-6张图,应该是面试官根据简历项目生成的ai代码,就是去看代码逻辑有什么问题)缓存过期时间没设置,线程池没关闭,临时文件没清理,线程池配置,无界队列,异常没抛出捕获;然后是方案选择,就是对着选择的方案说异步高并发相关知识什么的了5.面试官给开源项目,展示一下用什么方式熟悉项目的6.常用的ai工具7.Claude模型的区别8.Ai最近有什么新特性9.了解最新技术的渠道————————————————————行云集团 三面1.自我介绍2.实习经历介绍3.给一万个用户发短信,怎么设计,中途宕机了怎么解决4.共享电脑屏幕看一下之前写的项目代码,问代码为什么要这么设计5.Post和get请求区别6.http状态码 301,302什么意思,场景是什么7.redis用法8.高并发抢购场景怎么设计,怎么防止超卖9.反问————————————————————行云集团 四面 hr面就是到岗时间还有转正意向什么的经典问题
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务