电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>传感与控制>分布式事务控制的原理实例分析

分布式事务控制的原理实例分析

2017-09-28 | rar | 0.6 MB | 次下载 | 2积分

资料介绍

  对于分布式数据库而言,分布式事务控制是重点和难点,一直以来没有成熟的方案可以突破CAP理论,几乎每个分布式数据库研发团队都在分布式事务控制方案上结合了各自应用特点,进行了针对性的取舍,可以说是八仙过海各显神通。以下是我对分布式事务控制的理解:

  分布式事务控制的最终目标是实现一致性,方案大体分为实时一致性和最终一致性两种。两阶段提交是比较典型的实时一致性方案,提供补偿事务和基于消息队列的异步处理方案是最终一致性方案。两阶段提交由于同步阻塞、存在脏读可能性等问题,在某些银行的应用场景下无法使用,如果将隔离级别修改为串行化则可以解决脏读问题,但对性能影响较大。基于消息队列的异步处理方案将事务拆分成多个本地子事务,子事务之间通过消息队列衔接,实现串行执行,单个子事务占用资源的时间很短,并发度高。但这种最终一致性方案如果应用到银行的应用中势必影响用户体验,而且对应用侵略性较大,实施成本高。

  在分析了以上事务处理方案的优缺点之后,根据银行业务对实时一致性的要求,考虑到用户体验和实施成本的影响,我们提出了基于全局事务ID(Global transaction ID,以下简称GTID)的分布式事务解决方案。

  基本原理

  在基于GTID的分布式事务方案(以下简称本方案)中,我们把协调参与者和记录全局事务状态这两个功能分开,用计算节点协调各事务参与者进行事务操作,全局事务管理器仅管理全局事务的状态。为了确保事务状态正常,全局事务管理采用了实时持久化和实时同步到备机等多重保障机制。本方案事务管理架构如图1所示。

  分布式事务控制的原理实例分析

  图1 基于GTID的分布式事务管理方案

  两(三)阶段提交的核心思想是通过前期的多次准备和协调工作,尽可能让最后的提交操作能够成功。而本方案认为大部分事务都可以一次提交成功,因此采用一阶段提交+补偿事务的方式,如果事务在提交阶段有部分节点提交失败,本方案将回滚已成功提交的事务,而不是让失败的节点不断重试。与两(三)阶段提交相比,本方案在大部分情况下减少了与数据节点的交互次数,降低了锁冲突概率,提升了事务处理效率。

  建表时增加一个隐藏字段,用于记录GTID。

  每个事务开始时为其申请一个GTID,该GTID是全局唯一且单调递增的,GTID申请成功后,我们称该GTID为活跃(Active)状态,对应该GTID的事务状态为未提交状态,若涉及到数据更新,则将GTID更新到本事务将要更新的数据中,事务成功提交后,将GTID释放,此时我们称GTID为非活跃(UnActive)状态,对应的事务状态为已提交状态。

  当事务提交失败时,提交失败节点会自动回滚,对于已成功提交的节点,需要将其回滚,数据恢复到更新前的状态,全部节点回滚完成后,同样需要将GTID释放。

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1TC358743XBG评估板参考手册
  2. 1.36 MB  |  330次下载  |  免费
  3. 2开关电源基础知识
  4. 5.73 MB  |  11次下载  |  免费
  5. 3100W短波放大电路图
  6. 0.05 MB  |  4次下载  |  3 积分
  7. 4嵌入式linux-聊天程序设计
  8. 0.60 MB  |  3次下载  |  免费
  9. 5DIY动手组装LED电子显示屏
  10. 0.98 MB  |  3次下载  |  免费
  11. 6基于FPGA的C8051F单片机开发板设计
  12. 0.70 MB  |  2次下载  |  免费
  13. 751单片机PM2.5检测系统程序
  14. 0.83 MB  |  2次下载  |  免费
  15. 8基于51单片机的RGB调色灯程序仿真
  16. 0.86 MB  |  2次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537797次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191186次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费