您的位置:首页 > 编程语言 > Java开发

JAVA-mysql读写分离插件介绍

2017-03-29 15:52 197 查看
kingshard是一个由Go开发高性能MySQL Proxy项目,kingshard在满足基本的读写分离的功能上,致力于简化MySQL分库分表操作;能够让DBA通过kingshard轻松平滑地实现MySQL数据库扩容。 kingshard的性能是直连MySQL性能的80%以上。

github地址:https://github.com/flike/kingshard/blob/master/README_ZH.md

Cobar

是提供关系型数据库(MySQL)分布式服务的中间件,它可以让传统的数据库得到良好的线性扩展,并看上去还是一个数据库,对应用保持透明。

产品在阿里巴巴稳定运行3年以上。

接管了3000+个MySQL数据库的schema。

集群日处理在线SQL请求50亿次以上。

集群日处理在线数据流量TB级别以上。

github地址:https://github.com/alibaba/cobar

Mycat

2013年阿里的Cobar在社区使用过程中发现存在一些比较严重的问题,及其使用限制,经过Mycat发起人第一次改良,第一代改良版——Mycat诞生。 Mycat开源以后,一些Cobar的用户参与了Mycat的开发,最终Mycat发展成为一个由众多软件公司的实力派架构师和资深开发人员维护的社区型开源软件。

github地址:https://github.com/MyCATApache/MyCAT-Server

j360-datasource

构建

Java 1.7+

Maven 3.2+

Spring 4.1.3

1.0功能介绍

当前版本说明

分表:基于配置的count通过loadbalance算法映射到对应的table_0 table_1 ... table_{count}

分库:多数据源切换,通过loadbalance算法映射到对应的datasource

读写分离:基于配置的write数据源、read数据库类型,匹配到对应的数据源类型

多服务器轮训:基于lb算法中的RoundRobin算法轮训多个数据源分流,此处和分库最大的区别在于服务器的高可用分流

jdbc框架测试:ibatis

数据库:Mysql

2.0升级说明

后续版本升级方向

自定义负载均衡算法,更新权重,将权重数据缓存计算

更细每次都要去计算tablehash和databasehash的效率,将配置统一缓存使用缓存计算

新增JavaConfig方式,新增spring boot集成和动态数据更新

新增多重jdbc、orm框架支持 mybatis、hibernate、spring jdbc等

https://github.com/xuminwlt/j360-datasource
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: