基于代理方式的有MySQL Proxy和Amoeba.doc
《基于代理方式的有MySQL Proxy和Amoeba.doc》由会员分享,可在线阅读,更多相关《基于代理方式的有MySQL Proxy和Amoeba.doc(2页珍藏版)》请在三一文库上搜索。
1、基于代理方式的有MySQL Proxy和AmoebaSharding的基本思想就要把一个1、常用的分库分表中间件1.1 简单易用的组件:当当sharding-jdbc蘑菇街TSharding1.2 强悍重量级的中间件:shardingTDDL Smart Client的方式(淘宝)Atlas(Qihoo 360)alibaba.cobar(是阿里巴巴(B2B)部门开发)MyCAT(基于阿里开源的Cobar产品而研发)Oceanus(58同城数据库中间件)OneProxy(支付宝首席架构师楼方鑫开发)vi2、分库分表需要解决的问题1、事务问题方案一:使用分布式事务优点: 交由数据库管理,简单有效
2、缺点:性能代价高,特别是shard越来越多时方案二:由应用程序和数据库共同控制原理:将一个跨多个数据库的分布式事务分拆成多个仅处 于单个数据库上面的小事务,并通过应用程序来总控 各个小事务。优点:性能上有优势缺点:需要应用程序在事务控制上做灵活设计。如果使用 了spring的事务管理,改动起来会面临一定的困难。2、跨节点Join的问题3、跨节点的count,order by,group by以及聚合函数问题4、数据迁移,容量规划,扩容等问题5、事务5.1 分布式事务参考:关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究优点基于两阶段提交,最大限度
3、地保证了跨数据库操作的“原子性”,是分布式系统下最严格的事务实现方式。实现简单,工作量小。由于多数应用服务器以及一些独立的分布式事务协调器做了大量的封装工作,使得项目中引入分布式事务的难度和工作量基本上可以忽略不计。缺点系统“水平”伸缩的死敌。基于两阶段提交的分布式事务在提交事务时需要在多个节点之间进行协调,最大限度地推后了提交事务的时间点,客观上延长了事务的执行时间,这会导致事务在访问共享资源时发生冲突和死5.2 事务补偿(幂等值)对于那些对性能要求很高,但对一致性要求并不高的系统,往往并不苛求系统的实时一致性,只要在一个允许的时间周期内达到最终一致性即可,这使得事务补偿机制成为一种可行的方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于代理方式的有MySQL Proxy和Amoeba 基于 代理 方式 MySQL Proxy Amoeba
链接地址:https://www.31doc.com/p-3416817.html