DBLE 是企业级开源分布式中间件,江湖人送外号 “MyCat Plus”;以其简单稳定,持续维护,良好的社区环境和广大的群众基础得到了社区的大力支持;
环境准备
DBLE项目资料
DBLE官方网站:https://opensource.actionsky.com
可以详细了解DBLE的背景和应用场景,本文不涉及到的细节都可在官方文档获得更细节都信息;对于刚了解到同学,可以以本文为快速入门基础
DBLE官方项目:https://github.com/actiontech/dble
如对源码有兴趣或者需要定制的功能的可以通过源码编译
DBLE下载地址:https://github.com/actiontech/dble/releases
建议下载最新的releases版本,下载tar压缩包即可,如有源码编译需求的,可以下载源码包
DBLE社区交流:669663113
安装JDK环境
DBLE是使用java开发的,所以需要启动dble需要先在机器上安装java版本1.8或以上,并且确保JAVA_HOME参数被正确的设置;
这里通过yum源的方式安装了openjdk,同学们可以自行google jdk的几百种安装方式,这里不在赘述;
# yum install java-1.8.0-openjdk
确认java环境已配置完成
# java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
安装DBLE
DBLE的安装其实只要解压下载的目录就可以了,非常简单。
mkdir -p $working_dir
cd $working_dir
tar -xvf actiontech-dble-$version.tar.gz
cd $working_dir/dble/conf
安装完成后,目录如下:
目录说明
bin
dble命令:启动、重启、停止等
conf
dble配置信息,本文重点关注
lib
dble引用的jar包
logs
日志文件,包括dble启动的日志和运行的日志
配置DBLE
DBLE的配置文件都在conf目录里面,这里介绍几个常用的文件:
文件说明
server.xml
DBLE server相关参数定义,包括dble性能,定时任务,端口,用户配置等;本文主要涉及到访问用户的配置
schema.xml
DBLE具体分片定义,规定table和schema以及dataNode之间的关系,指定每个表格使用哪种类型的分片方法,定义每个dataNode的连接信息等
rule.xml
DBLE实际用到的分片算法的配置
应用场景一:数据拆分
后端MySQL节点
DBLE的架构其实很好理解,DBLE是代理中间件,DBLE后面就是物理数据库。对于使用者来说,访问的都是DBLE,不会接触到后端的数据库。
我们先演示简单的数据拆分的功能。物理部署结构如下表:
服务IP:Port说明
DBLE
172.16.3.1:9066
DBLE实例,连接数据库时,连接此IP:Port
Mysql A
172.16.3.1:14014
物理数据库实例A,真正存储数据的数据库
Mysql B
172.16.3.1:14015
物理数据库实例B,真正