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

JAVA-mysql读写分离插件介绍的更多相关文章

  1. Amoeba mysql读写分离搭建及介绍

    Amoeba mysql读写分离搭建及介绍 推荐: http://blog.chinaunix.net/uid-20639775-id-154600.html

  2. 高可用Mysql架构_Mysql主从复制、Mysql双主热备、Mysql双主双从、Mysql读写分离(Mycat中间件)、Mysql分库分表架构(Mycat中间件)的演变

    [Mysql主从复制]解决的问题数据分布:比如一共150台机器,分别往电信.网通.移动各放50台,这样无论在哪个网络访问都很快.其次按照地域,比如国内国外,北方南方,这样地域性访问解决了.负载均衡:M ...

  3. mysql读写分离--一主多从,冗余存储

    转载了https://blog.csdn.net/u013421629/article/details/78793966 https://blog.csdn.net/justdb/article/de ...

  4. amoeba实现MySQL读写分离

    amoeba实现MySQL读写分离 准备环境:主机A和主机B作主从配置,IP地址为192.168.131.129和192.168.131.130,主机C作为中间件,也就是作为代理服务器,IP地址为19 ...

  5. MySQL读写分离技术

    1.简介 当今MySQL使用相当广泛,随着用户的增多以及数据量的增大,高并发随之而来.然而我们有很多办法可以缓解数据库的压力.分布式数据库.负载均衡.读写分离.增加缓存服务器等等.这里我们将采用读写分 ...

  6. php实现MySQL读写分离

    MySQL读写分离有好几种方式 MySQL中间件 MySQL驱动层 代码控制 关于 中间件 和 驱动层的方式这里不做深究  暂且简单介绍下 如何通过PHP代码来控制MySQL读写分离 我们都知道 &q ...

  7. mysql读写分离实战

    一个完整的MySQL读写分离环境包括以下几个部分: 应用程序client database proxy database集群 在本次实战中,应用程序client基于c3p0连接后端的database ...

  8. 使用Amoeba实现mysql读写分离机制

    Amoeba的实用指南 http://docs.hexnova.com/amoeba/ 如何实现mysql读写分离 : 通常来说有两种方式: 1,应用程序层实现 2,中间件层实现 应用层实现 应用层实 ...

  9. 使用Spring实现MySQL读写分离(转)

    使用Spring实现MySQL读写分离 为什么要进行读写分离 大量的JavaWeb应用做的是IO密集型任务, 数据库的压力较大, 需要分流 大量的应用场景, 是读多写少, 数据库读取的压力更大 一个很 ...

随机推荐

  1. 我的C++笔记(语句基本结构)

    #include <iostream> using namespace std; int main() { unsigned char c1=24; int year; bool isLe ...

  2. phpstudy不显示目录列表---设置方法

    打开phpstudy,显示的项目文件路径不见了,其实是phpstudy的设置问题.以下是设置方法. 并将一下几个文件删除即可

  3. public var tap: ControlEvent

    extension Reactive where Base: UIButton { /// Reactive wrapper for `TouchUpInside` control event. pu ...

  4. A*寻路算法详解

    以我个人的理解: A*寻路算法是一种启发式算法,算法的核心是三个变量f,g,h的计算.g表示 从起点 沿正在搜索的路径 到 当前点的距离,h表示从当前点到终点的距离,而f=g+h,所以f越小,则经过当 ...

  5. Maven安装和eclipse里面的配置

    一 . Maven简单介绍 Apache Maven是个项目管理和自动构建工具,基于项目对象模型(POM)的概念.       作用:完成项目的相关操作,如:编译,构建,单元测试,安装,网站生成和基于 ...

  6. Mybatis批量插入的代码实现

    简单的学习总结一下,希望能帮到需要的同学! 1.mapper.xml文件sql语句如下: <insert id="insertBatch" parameterType=&qu ...

  7. tf.truncated_normal和tf.random_normal使用方法的区别

    1.tf.truncated_normal使用方法 tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=No ...

  8. 【ACM-ICPC 2018 南京赛区网络预赛 E】AC Challenge

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 写个DP 设f[j]表示已经做的题的状态为j的情况下接着选能获得的最大分数. 显然是个倒推. 记忆化搜索一波 dfs(i,j) 表示 ...

  9. redis_3 持久化

    快照持久化在本地硬盘保存的数据备份文件: 三个save的意思:数据修改的频率越高,保存的频率也越高,反之. 由于快照持久化是把所有的key和值都备份一遍,这样的操作很消耗资源,为了让系统资源过度的浪费 ...

  10. 模仿学习小游戏外星人入侵-Python学习,体会“函数”编程

    游戏类如下: # !/usr/bin/python # -*- coding:utf-8 -*- """ Author :ZFH File :alien.py Softw ...