DBLE项目
DBLE官方网站:https://opensource.actionsky.com
可以详细了解DBLE的背景和应用场景,本文不涉及到的细节都可在官方文档获得更细节都信息;对于刚了解到同学,可以以本文为快速入门基础
DBLE官方项目:https://github.com/actiontech/dble
如对源码有兴趣或者需要定制的功能的可以通过源码编译
DBLE下载地址:https://github.com/actiontech/dble/releases
建议下载最新的releases版本,下载tar压缩包即可,如有源码编译需求的,可以下载源码包
DBLE官方社区交流群:669663113
DBLE的主要配置文件
DBLE的配置文件都在conf目录里面,常用的几个配置文件如下:
文件 | 说明 |
---|---|
server.xml | DBLE server相关参数定义,包括dble性能,定时任务,端口,用户配置等;本文主要涉及到访问用户的配置 |
schema.xml | DBLE具体分片定义,规定table和schema以及dataNode之间的关系,指定每个表格使用哪种类型的分片方法,定义每个dataNode的连接信息等 |
rule.xml | DBLE实际用到的分片算法的配置 |
schema.xml配置解析
其中schema.xml是日常配置分片的时候最常用到的配置文件,我们通过思维导图的方式给大家整理了DBLE的schema.xml的配置
schema.xml举例
下面举个DBLE的schema配置文件例子,对逻辑数据库到物理数据库做了图解
<?xml version="1.0"?>
<!DOCTYPE dble:schema SYSTEM "schema.dtd">
<dble:schema xmlns:dble="http://dble.cloud/">
<schema name="testdb">
<table name="order" primaryKey="ID" dataNode="dn1,dn2" rule="sharding-by-date" />
<table name="goods" primaryKey="ID" type="global" dataNode="dn1,dn2" />
</schema>
<!-- 分片配置 -->
<dataNode name="dn1" dataHost="dh1" database="db1"/>
<dataNode name="dn2" dataHost="dh2" database="db2"/>
<!-- 物理数据库配置 -->
<dataHost name="dh1" maxCon="1000" minCon="10" balance="0" switchType="1" slaveThreshold="100">
<heartbeat>show slave status</heartbeat>
<writeHost host="MySQLA" url="172.16.1.1:3306" user="test" password="password"/>
</dataHost>
<dataHost name="dh2" maxCon="1000" minCon="10" balance="0" switchType="1" slaveThreshold="100">
<heartbeat>show slave status</heartbeat>
<writeHost host="MySQLB" url="172.16.1.2:3306" user="test" password="password">
<readHost host="MySQLC" url="172.16.1.3:3306" user="test" password="password"/>
</writeHost>
</dataHost>
</dble:schema>
图解schema.xml
总结
schema.xml是DBLE中间件如何配置分片最重要一个配置文件;如能熟悉掌握其中的逻辑概念,就可以对dble熟练配置;更高阶和详尽的用法,建议大家查阅官网的官方文档;