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

相关推荐

11-05 22:36
已编辑
中山大学 Java
暑期在阿里实习,觉得转正概率很大且抗拒面试,所以一直没有投递简历,在9月中旬拿到转正意向后才正式开始秋招。整个秋招一共投递了5个厂,绝对不去的就不投(讨厌面试,遇到一个老登一天的心情都毁了)。tl:美团-营销中心/优惠券  9.17-9.22  意向字节-抖音  9.30-10.10-10.16-10.20 意向腾讯-微信视频号  9.25-9.30-10.31面委1-10.31面委2 主动终止拼多多  10.18线下4面 意向小红书-商业技术  10.21-10.28-11.06等小红书面完秋招就结束了,整体来看面试几乎没挂过,有许多经验可以与26、27届+的牛友分享。1. 最好8月初开始投递秋招。秋招还是越早越好,像小红书这种到10月流程推进的都特别慢,面试排的特别满,每轮都要约到一周后,导致现在还在流程中。投晚了心态会爆炸,9月底的时候看牛客说哪哪都没hc了我也焦虑。不过如果早期没有拿到offer,也要坚持投递和面试,我的面试大半都是在10月的,所以10月还是有hc的,同样11月也不放弃。2. 实习两段足以,个人认为盲目刷次数作用有限,不要被卷到。我有两端实习,第一段实习部门比较边缘,整个秋招面试几乎没被问过,所以这样看来一段有话讲的实习就够了。第一段实习可能没搞懂怎么偷项目,第二段就熟练了,往死里偷,看懂的代码都是自己的。干脏活不要紧,要主动去看其他人提交的代码,最好是比较新的代码。准备两个实习中比较复杂的业务或者难点,反复的讲,每轮面试都跟面试官讲这两个点,提前想好中间件挂了情况以及可优化的点。有的面试官比较注重细节,喜欢问具体的难点,希望你只讲自己做的(坚定把偷的当成自己做的,不要怂)。有的面试官比较重整体,会问你系统的上下游。3. 刷题范围:hot100+代码随想录+leetcode前100非hard+每个厂codetop前三页+(排序算法、哈希表、单例模式、死锁、多线程交替打印)。基本够了,超出范围的也没办法,做不出来的时候可以让面试官给提示。4. 八股范围:java八股+中间件八股+操作系统+计网+AI概念(rag之类的)。建议有时间先学一遍再背,不然记不住。操作系统和计网基本只有面c++才问会,java岗很少问。美团比较爱问八股。5.场景题。说实话,问的不多,我也不擅长答这个。可以准备几个,例如抢红包、微信朋友圈、直播间打赏排行榜、短链等。其他的就随缘答,不能尬住,多少得说两句。6.项目。当有了两端实习的时候项目就是凑字数了,几乎没人问。刚开始找实习的时候可以去知识星球上找,一个业务系统,一个AI项目。面试官现在很喜欢问AI,而他们其实也不那么懂AI。最后祝大家找工作顺利!
投递大连飞创信息技术有限公司等公司10个岗位
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务