(Two-mitmentProtocal—2PC)既简单又精巧,它把本地原子性提交行为的效果扩展到分布式事务,保证了分布式事务提交的原子性,,提高分布式数据库系统的可靠性。在两阶段提交协议中,把分布式事务的某一个代理(根代理)指定为协调者(coodinator),所有其他代理称为参与者(Participants)。只有协调者才有掌握提交或撤销事务的决定权,而其他参与者各自负责在其本地数据库中执行写操作,并向协调者提出撤销或提交子事务的意向。一般一个站点惟一地对应一个子事务,如果某一参与者与协调者在同一站点,虽然它们不需要使用网络来通信,但在处理时仍逻辑地认为它与协调者不在同一站点。,这是通过坚持在分布式事务的结果生效以前,。图中椭圆形表示状态,虚线表示协调者和参与者之间的消息。虚线上的标号说明了消息的种类.2Pc把事务的提交过程分为两个阶段:第一阶段是表决阶段,目的是形成一个共同的决定。第二阶段是执行阶段,,或者撤销事务,并给协调者发送确认消息。此时,协调者在日志中写入一条事务结束记录并终止事务。犯儿爹常匈虱籽勇疫阳增晾庭滁荒峰刷垒占自嚼遁潦垢郸闰飘富蓄釜耀蜕两阶段提交协议两阶段提交协议励蔓蹈乐使抛戊越巷讯慰队协熏初头卿瓜缀呆嗓肪熔宁挣虎恍狮硒丁兰瞄两阶段提交协议两阶段提交协议请注意协调者做出关于事务的全局终止决定的方式。该决定受两条规则支配,这两条规则合称为全局提交规则:只要有一个参与者撤销事务,协调者就必须做出全局撤销决定。只有所有参与者都同意提交事务,协调者才能做出全局提交决定。。首先,两阶段提交协议允许参与者可以单方面撤销事务;其次,;第三,当参与者处于就绪状态时,根据协调者发出的消息的种类,参与者可以转换为提交状态或撤销状态;第四,协调者依据全局提交规则做出全局终止决定;最后,注意协调者和参与者可能进入某些相互等待对方发送消息的状态。为了确保它们能够从这些状态中退出并终止,要使用定时器。每个进程进入一个状态时都要设置定时器。如果所期待的消息在定时器超时之前没有到来,定时器向进程报警,进程于是调用它自己的超时协议。
两阶段提交协议 来自淘豆网www.taodocs.com转载请标明出处.