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

手机网站调用分享石家庄网站制作网页

手机网站调用分享,石家庄网站制作网页,网上接装修单在哪个平台,网站加alt属性对优化有影响吗文章目录 导图Pre2PC#xff08;Two-Phase Commit#xff09;协议准备阶段提交阶段情况 1#xff1a;只要有一个事务参与者反馈未就绪#xff08;no ready#xff09;#xff0c;事务协调者就会回滚事务情况 2#xff1a;当所有事务参与者均反馈就绪#xff08;readyTwo-Phase Commit协议准备阶段提交阶段情况 1只要有一个事务参与者反馈未就绪no ready事务协调者就会回滚事务情况 2当所有事务参与者均反馈就绪ready消息时事务协调者会提交commit事务 3PCThree-Phase Commit协议3PC的三个阶段3PC 的流程 3PC 和 2PC 的主要区别1. 阶段数量不同2. 容错能力3. 协议的安全性与复杂性4. 阻塞问题5. 事务资源锁定6. 性能开销 总结 导图 Pre 分布式协同 - 分布式事务一二事儿DTP 定义了分布式事务的处理模型可以针对这个模型提出分布式事务的解决方案2PC 就是其中一种。 2PC 的全称为两阶段提交Two Phase Commitment Protocol是 DTP 模型的最佳实践解决了在分布式服务或数据库场景下同一事务对多个节点进行操作的数据一致性问题。 2PC 在一定程度上遵守 ACID 理论的刚性事务的要求保证了强一致性。 2PC 中有两个概念 一个是事务协调者对应 DTP 模型中的事务管理器用来协调事务所有事务什么时候准备好、什么时候可以提交都由它来协调和管理另一个是事务参与者对应 DTP 模型中的资源管理器主要负责处理具体事务、管理需要处理的资源。例如事务参与者可以处理订票业务扣款业务。 2PCTwo-Phase Commit协议 ----------------- ------------------ ----------------- | Transaction | | Coordinator | | Participant | | Client | | Node | | Node | ----------------- ------------------ -----------------| | ||----------(1) Request Start ------ || | || | --------------(2) Prepare--------|| | || | --------- (3) Acknowledge ------|| | || | || | --------------(4) Commit---------|| | || | --------- (5) Acknowledge ------|| | || | || (End) (End) 准备阶段 第一阶段准备阶段如下图 所示 事务协调者事务管理器给每个事务参与者资源管理器发送准备prepare消息目的是询问大家是不是都准备好了马上就要执行事务了。事务参与者会根据自身业务和资源情况进行检查然后给出反馈。检查过程根据业务内容的不同而不同例如订票业务需要检查是否有剩余票、扣款业务需要检查余额是否足够。 只有检查通过才能返回就绪ready信息。否则事务将终止并且等待下次询问。由于检查过程需要完成一些操作因此需要写 redo 日志和 undo 日志以便事务失败重试或者失败回滚时使用。 提交阶段 第二阶段提交阶段如下图所示 如果事务协调者接收到事务参与者检查失败或者超时的消息会给其发送回滚rollback消息否则发送提交commit消息。 情况 1只要有一个事务参与者反馈未就绪no ready事务协调者就会回滚事务 a) 事务协调者向所有事务参与者发出回滚请求。b) 事务参与者使用第一阶段中 undo 日志里的信息执行回滚操作并且释放整个事务期间占用的资源。c) 各事务参与者向事务协调者反馈应答ack消息表示完成操作。d) 事务协调者接收到所有事务参与者反馈的应答消息即完成了事务回滚。 情况 2当所有事务参与者均反馈就绪ready消息时事务协调者会提交commit事务 a) 事务协调者向所有事务参与者发出正式提交事务的请求。b) 事务参与者执行提交commit操作并释放整个事务期间占用的资源。c) 各事务参与者向事务协调者反馈应答ack消息表示完成操作。d) 事务协调者接收到所有事务参与者反馈的应答ack消息即完成了事务提交。 3PCThree-Phase Commit协议 3PC三阶段提交是分布式事务中的一种协议旨在解决2PC协议中的阻塞问题。3PC协议通过在2PC的基础上增加了一个阶段增加了事务的容错能力从而避免了协调者或参与者崩溃时可能发生的阻塞现象。 3PC的三个阶段 CanCommit 阶段询问阶段 协调者向所有参与者发送“CanCommit”请求询问它们是否可以提交事务。参与者收到请求后会检查本地的事务状态。如果没有冲突且可以提交它们就返回“Ready”响应如果事务存在问题则返回“No”响应表示无法提交。 PreCommit 阶段预提交阶段 如果所有参与者都返回了“Ready”协调者就会向所有参与者发送“PreCommit”命令表示准备提交事务并让它们锁定相关资源。参与者在接收到“PreCommit”命令后执行事务的预提交操作并返回确认。 DoCommit 阶段提交阶段 如果所有参与者都返回了预提交确认“PreCommit”协调者会向所有参与者发送“DoCommit”命令正式提交事务。参与者接收到“DoCommit”命令后执行提交操作事务完成。 3PC 的流程 ----------------- ------------------ ----------------- | Transaction | | Coordinator | | Participant | | Client | | Node | | Node | ----------------- ------------------ -----------------| | ||----------(1) Request Start ------ || | || | --------(2) CanCommit ---------|| | || | ----------(3) Ready/No --------|| | || | --------(4) PreCommit ---------|| | || | ----------(5) PreCommitAck -----|| | || | --------(6) DoCommit ----------|| | || | ----------(7) DoCommitAck ------|| | || (End) (End)3PC 和 2PC 的主要区别 1. 阶段数量不同 2PC 有两个阶段 Prepare: 协调者询问参与者是否能提交事务。Commit/Abort: 根据参与者的响应协调者决定是否提交或回滚事务。 3PC 有三个阶段 CanCommit: 协调者询问参与者是否准备提交。PreCommit: 协调者发送预提交命令参与者准备提交并锁定资源。DoCommit: 协调者发送最终提交命令事务正式提交。 2. 容错能力 2PC 在协调者或参与者崩溃时可能会出现阻塞。例如如果协调者崩溃后参与者不知道是应该提交还是回滚系统可能会陷入阻塞状态无法继续执行。3PC 增加了一个额外的阶段PreCommit并且在每个阶段都有明确的响应协议可以减少系统在协调者或参与者崩溃时的阻塞风险。3PC通过引入超时机制和预提交锁定有效减少了数据不一致和系统停滞的概率。 3. 协议的安全性与复杂性 2PC 协议相对简单但存在阻塞问题且在部分情况下例如协调者崩溃事务无法保证最终一致性。3PC 协议在设计上更加复杂通过引入预提交阶段提高了系统的容错能力但也增加了协议的开销和实现的复杂性。 4. 阻塞问题 2PC 存在阻塞问题特别是在协调者或参与者崩溃的情况下事务无法继续或回滚可能会导致长时间的停滞。3PC 通过引入额外的阶段并要求所有参与者在每个阶段都给予明确的响应避免了阻塞的可能性。当协调者或参与者崩溃时系统会通过超时机制自动恢复减少了长时间的停滞。 5. 事务资源锁定 2PC 中事务资源在提交后才被释放可能会因为参与者的延迟或崩溃导致长时间的资源占用。3PC 引入了预提交阶段在PreCommit时就锁定了资源并确保它们在提交前是有效的因此能更有效地管理资源的占用。 6. 性能开销 2PC 因为只有两个阶段协议简单性能相对较好但当系统出现故障时性能和一致性会受到较大影响。3PC 虽然增加了一个阶段但引入了更多的容错机制可能会有稍微的性能开销但能在故障恢复时保持更高的可用性。 总结 特性2PC (Two-Phase Commit)3PC (Three-Phase Commit)阶段数量2个阶段Prepare准备阶段和Commit/Abort提交/回滚阶段3个阶段CanCommit询问阶段、PreCommit预提交阶段、DoCommit提交阶段协议设计基于两阶段协议协议简单但容易导致阻塞问题基于三阶段协议增加了预提交阶段减少了阻塞问题阻塞问题存在阻塞问题特别是当协调者或参与者崩溃时系统可能无法继续通过引入PreCommit阶段减少了崩溃时的阻塞问题避免了长时间停滞协调者崩溃的处理协调者崩溃后参与者不确定事务是提交还是回滚导致阻塞由于引入了CanCommit和PreCommit阶段协调者崩溃后的恢复能力较强减少了阻塞的可能参与者崩溃的处理如果参与者在Prepare阶段崩溃事务可能无法提交在PreCommit阶段参与者能锁定资源如果崩溃系统能更好恢复减少了不一致情况事务提交的一致性保证一致性但有可能因为协调者或参与者崩溃导致无法提交或回滚在多数情况下保证一致性并且通过额外阶段减少了崩溃带来的影响资源管理资源管理依赖于Prepare阶段协调者发出提交或回滚命令资源管理通过PreCommit阶段锁定资源协调者发送最终提交命令性能开销由于只有两个阶段性能较高但可能因为故障导致较长的延迟增加了一个阶段性能会有一定的开销但能有效减少阻塞问题协议复杂性协议较简单实现起来相对容易但缺乏容错能力协议更复杂要求在协议层面上有更多的容错设计和实现适用场景适用于对一致性要求较高的场景如分布式数据库事务适用于对高可用性和容错性要求较高的场景尤其是需要更好恢复能力的分布式系统超时处理通常需要外部机制如超时检测来处理超时问题协议本身提供了对超时和崩溃的处理机制有更强的容错能力 2PC 由于其简单的设计适用于一些不涉及复杂容错的场景但它容易因为崩溃或故障导致阻塞问题事务可能无法继续进行。3PC 在 2PC 的基础上增加了一个阶段提升了系统容错能力减少了由于协调者或参与者崩溃导致的阻塞但相应地增加了协议的复杂度和性能开销。 在选择2PC还是3PC时需要根据具体应用场景的容错要求、性能需求以及系统复杂度进行权衡。
http://www.dnsts.com.cn/news/162079.html

相关文章:

  • 网站建设税率任意的关键词或网站做引流
  • 网站原图怎么做网件路由器设置教程
  • 佛山专业网站建设价格牡丹江出现一例
  • 中国建设银行手机版网站首页温州 网站优化
  • 如何建设网站视频在线设计平台代理加盟
  • 泉州网络公司排名苏州网站排名优化
  • 不会网站维护可以做吗万网定制网站怎么样
  • 龙岗住房建设局网站wordpress调用面包屑
  • 手机网站 焦点图wordpress显示标签页
  • 网站首页不见怎么做自媒体app推广
  • 企业如何实现高端网站建设软件开发管理工具
  • 做一个高端网站多少钱国际军事新闻最新消息头条
  • 一般自己怎么做网站i57500网站开发
  • 女士服装定制网站域名做网站
  • 2017网站设计趋势WordPress网站被恶意登录
  • 深圳网站开发工程师阿里云备案网站备案域名购买
  • 济宁 做网站2345网址大全最新版下载
  • 山东省建设工程管理局网站国内外网站开发技术有哪些
  • 网站对公司的意义网页颜色搭配的推荐
  • 重庆智能网站建设哪里有北京h5网页设计
  • 公司建设网站算入什么会计科目网站那个做的比较好的
  • 满屏网站设计做多大洛阳便宜网站建设报价
  • 国外创意型网站设计网页特效代码免费网站
  • 网站开发背景设置网站提交链接入口
  • 深圳网站建设 骏域网站建设网站运行模式
  • 沈阳市住房和城乡建设部网站网站开发和网络安全
  • 可以用wpf做网站吗内蒙古呼和浩特
  • 杭州网站建设招聘Wordpress博客cdn
  • 成都建设网站报价给企业做网站收入
  • 广州做啊里巴巴网站多少钱wordpress评论img标签