- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
dble-开源MySQL分布式中间件实现剖析
一、dble简介
目录
CONTENTS 二、分布式事务实现
三、复杂查询实现
四、查询优化举例
分布式系统架构示意图
开源分布式中间件d[ou]ble
项 目地址:://.//
开源分布式中间件d[ou]ble
dble是基于MyCat的企业级加强版的sharding中间件
• 优化代码结构
• Bug修复(100+)
• 核心功能完善 (例 :分布式事务 ,SQL支持度等)
• 复杂查询的支持与改进
• 非核心功能选择性裁减 (例如异构数据库支持等)
项 目地址:://.//
dble功能特性
项 目地址:://.//
分布式事务实现
分布式事务问题的产生
显式分布式事务 :转账
隐式分布式事务 :发午餐补助
分布式事务的实现-用普通事务简单实现
第一阶段 :执行
第二阶段 :提交
分布式事务的实现-普通事务实现方式的问题
导致数据不一致可能的场景
•网络闪断
•参与者数据库服务故障
•参与者数据库宿主机宕机
•协调者故障
•协调者宿主机宕机
分布式事务的实现-MySQLXA事务
XA事务执行阶段 XA事务PREPARE阶段 XA事务COMMIT阶段
分布式事务的实现-MySQLXA事务
•网络闪断 :
已经完成PREPARE的XA事务 ,
即使连接断开,事务状态也
不会丢失。可以新建连接继
续提交
中间件可以设定次数阈值 ,
多次执行,直到成功。
分布式事务的实现-MySQLXA事务
•参与者数据库服务故障
MSQL 5.7的 PREPARE状态会写入
即使数据库服务重启, PREPARE状态也不
会丢失。
中间件可以在数据库服务恢复后 ,继续提
文档评论(0)