查看更多
当前 - 选择题 - 数据库设计
简单
单选题
2021年5月第33题
#第二版教材
#了解即可

分布式数据库系统中的两阶段提交协议(Two Phase Commit Protocol,2PC 协议)包含协调者和参与者,通常有如下操作指令。满足2PC的正常序列是(①②④)。
①协调者向参与者发prepare 消息
②参与者向协调者发回ready消息
③参与者向协调者发回abort 消息
④协调者向参与者发commit消息
⑤协调者向参与者发rollback 消息

问题(1)
浓缩知识点

两阶段提交协议(2PC)是保障分布式事务强一致性的经典协议,核心分为准备(投票)与提交两个阶段。正常提交流程为,协调者先向所有参与者发送prepare消息,参与者执行事务至可提交状态、锁定资源后,返回ready响应;待协调者收齐所有参与者的ready消息,便向所有参与者发送commit消息,参与者执行提交操作后释放资源。若流程中存在参与者返回abort响应或协调者超时未收到响应,协调者会触发异常分支,向所有参与者发送rollback消息,参与者执行回滚并释放资源。此外,2PC虽能实现分布式事务一致性,但存在协调者单点故障、参与者阻塞等局限性,实际场景中常结合优化机制或搭配其他协议使用。

正确答案
A

本题考察的是分布式数据库中两阶段提交协议(2PC)的基本流程
2PC协议分为两个阶段:投票阶段(准备阶段)提交阶段。协调者负责发起提交过程,参与者根据自己当前的状态和资源情况决定是否可以提交。
①协调者向参与者发prepare消息:这是2PC的第一阶段(投票阶段)的开始,协调者询问参与者是否可以提交事务。
②参与者向协调者发回ready消息:如果参与者准备好了,就回复"ready",表示可以提交事务。
④协调者向参与者发commit消息:当协调者收到所有参与者的ready响应后,进入第二阶段(提交阶段),向所有参与者发出commit命令,事务正式提交。
③参与者向协调者发回abort消息:这不是正常的2PC成功流程,而是失败情况下的一种响应。
⑤协调者向参与者发rollback消息:同样这是在有参与者无法提交或超时的情况下,协调者发出的回滚命令,也不属于正常的提交流程。
因此,选项A ①②④表示的是2PC协议中一次正常提交事务的完整流程,选项A正确。

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有