一句话总结:2PC两阶段提交协议应用于分布式事务场景,解决分布式多个系统间数据的一致性,如数据库XA机制。 背景: 假设有两个系统A和B,同一个原子业务,举个常用的转账例子,A系统加1000元,B系统相应减1000元,这时若A执行成功了,B执行失败了,对业务来说肯定出问题了。这里的问题 ...
一 协议概述 两阶段提交协议 two phase commit protocol, PC 可以保证数据的强一致性,许多分布式关系型数据管理系统采用此协议来完成分布式事务。它是协调所有分布式原子事务参与者,并决定提交或取消 回滚 的分布式算法。同时也是解决一致性问题的一致性算法。该算法能够解决很多的临时性系统故障 包括进程 网络节点 通信等故障 ,被广泛地使用。但是,它并不能够通过配置来解决所有的故 ...
2014-11-04 10:06 1 2002 推荐指数:
一句话总结:2PC两阶段提交协议应用于分布式事务场景,解决分布式多个系统间数据的一致性,如数据库XA机制。 背景: 假设有两个系统A和B,同一个原子业务,举个常用的转账例子,A系统加1000元,B系统相应减1000元,这时若A执行成功了,B执行失败了,对业务来说肯定出问题了。这里的问题 ...
不久之前团队有个新人问我一个很重要的web服务接口如何保证事务的问题。因为涉及到跨库事务,当时我只是回答目前我们的SOA框架都不支持跨库事务。然后就问到了数据库跨库事务是如何实现的,我只能凭印象含糊回 ...
4) Coordinator 收集所有结果后, 广播 COMMIT or ABORT 给所有 Participant ...
因为事务需要实现ACID,即原子性、一致性、隔离性、持久性,所以需要采用一定的机制来保证,通常采用的是分阶段提交的方式。 XA:XA协议,规定事务管理器和资源管理器接口,采用二阶段提交协议。 一阶段提交协议 一阶段提交协议相对简单,如下图: 当然,前提是开启了事务,然后在应用程序发出 ...
两阶段提交 2PC:在分布式系统中,每一个机器节点虽然能够明确的知道自己在进行事物操作过程的结果是失败或成功,但却无法直接获取其他分布式节点的操作结果,因此事物操作需要跨越多个分布式节点的时候,需要引入一个协调者统一调度所有节点的执行逻辑。 阶段一:提交事物请求 事物询问 ...
http://www.cnblogs.com/hustcat/p/3577584.html 前两天和百度的一个同学聊MySQL两阶段提交,当时自信满满的说了一堆,后来发现还是有些问题的理解还是比较模糊,可能是因为时间太久了,忘记了吧。这里再补一下 ...
两阶段提交协议(Two-phase Commit,2PC)经常被用来实现分布式事务。一般分为协调器C和若干事务执行者Si两种角色,这里的事务执行者就是具体的数据库,协调器可以和事务执行器在一台机器上。 我们的应用程序 ...
转自: http://www.cnblogs.com/hustcat/p/3577584.html http://www.cnblogs.com/cchust/p/4439107.html binlog组提交的基本思想是,引入队列机制保证innodb commit顺序 ...