当前位置: 首页 > news >正文

中山网站改版cnzz统计 wordpress

中山网站改版,cnzz统计 wordpress,app搭建流程,受欢迎的江苏网站建设分布式事务的三阶段分别是准备阶段、预提交阶段和提交 / 回滚阶段,以下是详细介绍: 三阶段提交协议可以理解为两阶段提交协议的改良版,是在协调者和参与者中都引入超时机制,并且把两阶段提交协议的第一个阶段分成了两步: 询问&am…

分布式事务的三阶段分别是准备阶段、预提交阶段和提交 / 回滚阶段,以下是详细介绍:

三阶段提交协议可以理解为两阶段提交协议的改良版,是在协调者和参与者中都引入超时机制,并且把两阶段提交协议的第一个阶段分成了两步: 询问,然后再锁资源,最后真正提交。

两阶段提交协议最早是分布式事务的专家Jim Gray在1978年的一篇文章Notes on Database Operating Systems中提及。两阶段提交协议可以保证数据的强一致性,即保证了分布式事务的原子性:所有结点要么全做要么全不做。许多分布式关系型数据管理系统采用此协议来完成分布式事务。它是协调所有分布式原子事务参与者,并决定提交或取消(回滚)的分布式算法。同时也是解决一致性问题的算法。该算法能够解决很多的临时性系统故障(包括进程、网络节点、通信等故障),被广泛地使用。但是,它并不能够通过配置来解决所有的故障,在某些情况下它还需要人为的参与才能解决问题。两阶段提交协议存在的问题是,协调者在某些时刻如果失败了, 整个事务就会阻塞。于是Skeen发布了"NonBlocking Commit Protocols" (1981)这篇论文,论文指出在一个分布式的事务里面, 需要一个三阶段的提交协议来避免在两阶段提交中存在的阻塞问题。
 

准备阶段(CanCommit)

  • 事务询问:协调者向所有参与者发送包含事务内容的CanCommit请求,询问是否可以执行事务提交操作,并开始等待各参与者的响应。
  • 各参与者响应:参与者收到CanCommit请求后,会根据自身情况判断是否可以执行事务。如果参与者认为可以执行事务,则返回Yes响应,表示它准备好执行事务;如果参与者无法执行事务,例如因为资源不足、数据冲突等原因,则返回No响应。
  • 如果参与者能够执行任务,那么返回协调者Yes状态 参与者不能执行任务,返回No,结束事务

预提交阶段(PreCommit)


 

  • 执行事务操作:如果协调者在准备阶段收到了所有参与者的Yes响应,那么它会向所有参与者发送PreCommit请求,进入预提交阶段。参与者在收到PreCommit请求后,会执行事务操作,但不会真正提交事务,而是将事务操作结果记录到本地的事务日志中,并释放部分事务资源,但仍保持对事务的锁定状态,以便后续可能的提交或回滚操作。
  • 响应预提交结果:参与者执行完事务操作后,会向协调者发送Ack响应,表示事务操作已经执行完成。如果参与者在执行事务操作过程中出现了问题,例如数据库故障、网络问题等,导致无法执行事务操作,那么它会向协调者发送No响应,并回滚已经执行的事务操作。
  • yes

提交 / 回滚阶段(DoCommit/Abort)

  • 提交事务:如果协调者在预提交阶段收到了所有参与者的Ack响应,那么它会向所有参与者发送DoCommit请求,通知参与者正式提交事务。参与者在收到DoCommit请求后,会将事务正式提交到数据库中,并释放所有事务资源,完成事务操作。
  • 回滚事务:如果协调者在准备阶段或预提交阶段收到了任何参与者的No响应,或者在等待参与者响应的过程中出现了超时等情况,那么它会向所有参与者发送Abort请求,通知参与者回滚事务。参与者在收到Abort请求后,会根据本地事务日志中的记录,回滚已经执行的事务操作,并释放所有事务资源。

三阶段提交协议相对于二阶段提交协议,增加了预提交阶段,使得分布式事务的提交过程更加稳健,能够在一定程度上避免数据不一致的问题,但它也增加了事务的复杂性和性能开销。

在分布式系统中,为了协调多个节点共同参与的事务,通常会采用三阶段提交协议(3PC)。关于三阶段提交协议,以下哪个描述是正确的?

A. 三阶段提交协议只包括准备提交(Prepare)和提交(Commit)两个阶段。
B. 在三阶段提交协议中,如果有一个参与者回复不能提交(No),则事务协调者会立即中止事务。
C. 三阶段提交协议可以确保在所有参与者都成功提交事务之前,任何参与者都不会单独提交事务。
D. 三阶段提交协议中的第三阶段是向所有参与者发送预提交(PreCommit)请求。

正确答案

C

参考

分布式事务讲解之CAP,2PC,3PC,TCC,分布式锁 - 上善若泪 - 博客园 (cnblogs.com)

http://www.yayakq.cn/news/925090/

相关文章:

  • 网站后台根据前端做吗官方网站建设项目询价
  • 帕绍网站建设广州网站建设新际
  • 网站设计需要考虑哪些基本原则用php做网站后台
  • 集团网站定制wordpress excel
  • 买的网站模板怎么上传百度知道网页版地址
  • 做网站找浩森宇特大连网站制作-中国互联
  • 网站 空间网站开发与软件开发
  • 西安都蓝网站建设广告公司网站首页设计页面
  • 网站建设模式有哪些个人网上银行入口
  • 八爪鱼 wordpress网站seo文章
  • 佛山网站建设公司招聘湖南做网站360o
  • 石家庄p2p网站开发分销系统开发公司
  • 企业网站备案名称韩国设计交流网站
  • 深圳市中医院seo计费
  • 深圳高端营销网站模板织梦 网站统计
  • 淄博晨曦网站建设外贸先做网站还是开公司
  • 用心做的网站青岛品牌网站建设价格
  • 河北邢台做移动网站汕头新闻头条最新消息
  • 株洲企业网站建设工作室开平网络推广
  • 网站建设代码出现乱码微信营销平台源码下载
  • 上海婚纱网站设计建设购物网站流程图
  • 天河网站建设哪个好wordpress创建页面左侧导航栏
  • 有效的网站建设微信商户平台登录入口
  • seo百家外链网站vi设计品牌案例ppt
  • 最专业的seo公司重庆自动seo
  • 长沙企业建站方案医疗生物科技 网站建设
  • 一般网站建设步骤淮安市建设工程初级职称申报网站
  • 高端手机网站 制作公司WordPress自己安装了插件
  • 站内推广策略怎么做网站百度经验
  • 推广网站哪个好wap网页游戏