文章来源:爱可生开源社区
作者:张沈波

1.DBLE项目介绍

DBLE 是企业级开源分布式中间件,江湖人送外号 “MyCat Plus”;以其简单稳定,持续维护,良好的社区环境和广大的群众基础得到了社区的大力支持;

DBLE官方网站:

https://opensource.actionsky.com

可以详细了解DBLE的背景和应用场景,本文不涉及到的细节都可在官方文档获得更细节都信息;对于刚了解到同学,可以以本文为快速入门基础

DBLE官方项目:

https://github.com/actiontech...

如对源码有兴趣或者需要定制的功能的可以通过源码编译

DBLE下载地址:

https://github.com/actiontech...

建议下载最新的releases版本,下载tar压缩包即可,如有源码编译需求的,可以下载源码包

DBLE技术交流:DBLE官方社区交流(669663113)

2.DBLE的主要配置文件

DBLE的配置文件都在conf目录里面,常用的几个配置文件如下:

图片描述

3.schema.xml配置解析

其中schema.xml是日常配置分片的时候最常用到的配置文件,我们通过思维导图的方式给大家整理了DBLE的schema.xml的配置

图片描述

4.schema.xml举例

下面举个DBLE的schema配置文件例子,对逻辑数据库到物理数据库做了图解

  • schema 配置文件举例
 <?xml version="1.0"?>
<!DOCTYPE dble:schema SYSTEM "schema.dtd">
<dble:schema xmlns:dble="http://dble.cloud/">
 
   <schema name="testdb">
       <table name="goods" primaryKey="ID"  type="global" dataNode="dn1,dn2" />
       <table name="order" primaryKey="ID"  dataNode="dn1,dn2" rule="sharding-by-date" />
   </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熟练配置;更高阶和详尽的用法,建议大家查阅官网的官方文档。

温馨提示:距离第一期 DBLE 有奖征稿活动结束还剩 10 天,我们已经收到 3 篇来自社区的投稿,欢迎其他同学踊跃参与,投稿信息请联系爱可生开源社区!

图片描述


爱可生开源社区
426 声望207 粉丝

成立于 2017 年,以开源高质量的运维工具、日常分享技术干货内容、持续的全国性的社区活动为社区己任;目前开源的产品有:SQL审核工具 SQLE,分布式中间件 DBLE、数据传输组件DTLE。