快钱支付需要网站备案吗,免费下载的网站,国外服务器购买平台,代做网页设计二阶段提交
二阶段提交#xff08;英语#xff1a;Two-phase Commit#xff09;是指#xff0c;为了使基于分布式系统架构下的所有节点在进行事务提交时保持一致性而设计的一种算法(Algorithm)。
二阶段过程 在两阶段提交过程中#xff0c;主要分为了两种角色协调者英语Two-phase Commit是指为了使基于分布式系统架构下的所有节点在进行事务提交时保持一致性而设计的一种算法(Algorithm)。
二阶段过程 在两阶段提交过程中主要分为了两种角色协调者coordinator和参与者participants协调者既可以作为库嵌套到应用程序中也可以作为一个单独的服务。
2PCTwo Phase Commit协议通常分为两个阶段进行提交请求阶段Commit Request Phase或称投票阶段(Voting phase)、与提交阶段Commit Phase 1.提交请求阶段Commit Request Phase协调者发送请求给参与者通知参与者提交或取消事务参与者进入投票过程每个参与者回复给协调者自己的投票同意事务在本地执行成功或取消事务本地执行失败。
2.提交阶段Commit Phase协调者对上一阶段参与者的投票结果进行表决当所有投票为“同意”时提交提交事务否者中止事务并通知参与者参与者接到通知后执行相应的操作。
二阶段提交的缺点
同步阻塞在执行过程中所有节点都是事务阻塞的第三方资源都处于阻塞状态。单点故障一旦协调者出现故障参与者会一直阻塞下去。数据不一致但协调者发出commit请求之后部分参与者发生故障这会导致只有部分参与者接收到commit请求其他故障参与者未接收到请求于是整个分布式便出现数据不一致的现象。
二阶段无法解决的问题
当协调者出错同时参与者也出错时两阶段无法保证事务执行的完整性。