您的位置:首页 > 数据库 > MySQL

开源分布式中间件 DBLE Schema.xml 配置解析

2019-02-13 16:07 666 查看

文章来源:爱可生开源社区


作者:张沈波


 

1.DBLE项目介绍

 

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


DBLE官方网站:


https://opensource.actionsky.com

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


DBLE官方项目:


https://github.com/actiontech/dble

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


DBLE下载地址:


https://github.com/actiontech/dble/releases

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


 

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="order" primaryKey="ID"  type="global" dataNode="dn1,dn2" />
        <table name="goods" 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 篇来自社区的投稿,欢迎其他同学踊跃参与,投稿信息请联系爱可生开源社区!




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息