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

相关推荐

10-16 17:40
门头沟学院 Java
开局直接手撕四题算法1.给定两个有序数组(序一致),找到两个数组之间相差最小的两个数的差。int fun(int a[], int a_len, int b[], int b_len) { }2.给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。k 保证为正整数(1 < k <= 9), encoded_string 中可能嵌套另一个 encoded_string,原始字符串只由 [a-z] 组成**示例:**- input: 2[abc] output: abcabc- input: 3[a2[bc]] output: abcbccabcbccabcbcc**函数要求:** std::string Solve(const std::string& encoded_string)3.拼接最大数给定n个正整数,求选出两个数拼接在一起能得到的最大整数例如1和2拼接得到12,2和1拼接得到21,12和3拼接得到123int Solve(int a[], int n) {}4.第k大节点某公司组织架构以二叉搜索树形式记录,节点值为处于该职位的员工编号。请返回第 cnt 大的员工编号。 如果找不到,返回 -1注意:不能把二叉树全量存储到另外的存储空间,比如存储到数组中,然后取出数组的第 cnt 个元素输入:root = [7, 3, 9, 1, 5], cnt = 25.讲一讲这个计算机里面,tcp 跟 udp 的这个差异吧。6.讲一讲计算机操作系统里面的进程跟线程的差异。7.http 和 https 有什么差异?8.你了解 TLS 的这个握手过程吗?9.问第一个AI项目我们通过这个去检索的时候,能够保证它的那个准确性跟召回率吗?10.这里景点的数据内容,单条数据内容有多大呀?11.我的意思就是咱们这个数据很大嘛,比如说你有一些游客的评论也好,你这个景点的介绍也好,很大的那你你最终你是只挑一部分去做这个,转化成这个高维向量吗?还是说你是全部?12.这里为什么要用到用户评价的内容。13.比如说你一个景点,假设是你有有1000条数据吧,那你是怎么去整理14.这过程中有用到 ai 吗?还说是用一些别的方式?15.那这五点里面有哪些部分是主要你负责的?16.那这里提到一个是任务分解,那这个任务分解的这个具体的这个做法是怎么做?17.: 你知道这里它是一个怎么样的一个优先级吗?比如说外部的这个推荐呢?还是说你内部的一个一个推荐呢?(听不懂)那关于这个项目,我想问的问题就差不多了,看下你这边有没有一些问题想问的?反问算法这块面试是不是比较差感觉凉凉 面试官都没开摄像头听的语气好像不太好
wu970:上来直接四题吓哭了
查看16道真题和解析
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务