赞
踩
分布式系统设计中,几乎都需要在服务可用性性 和数据一致性之间做权衡,也因此诞生了一系列的一致性协议,常见的有2PC一致性协议、3PC一致性协议、Paxos一致性算法、Raft一致性算法。
2PC,也叫做二阶段提交协议,是指将在分布式环境下多个分布节点的事务提交过程分成两个阶段来进行处理:
第一个阶段是事务执行,即多个节点先提交,但是不commit事务;
第二个阶段是事务提交,即协调者统计多个节点第一个阶段是否都执行成功,都执行成功再让多个节点commit事务。
(1)阶段一:执行事务
(2)阶段二:执行事务提交
以电商购买商品为例,减库存和扣减账户金额需要保证事务一致性。正常情况下阶段一、阶段二操作如下:
(3)事务中断
如果在阶段一或阶段二任一节点协调者与参与者失去联系,都要进行事务中断操作。
若在第2个阶段中,协调者发现有节点返回"NO"或者没有接收到所有参与者节点返回的"YES"响应,就会发起事务中断操作。
2PC优缺点:
优点:原理简单
缺点:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。