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

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


作者:张沈波


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目录里面,常用的几个配置文件如下:


表格1.png


3.schema.xml配置解析


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


schema.xml.gif



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架构详解.png



总结


schema.xml是DBLE中间件如何配置分片最重要一个配置文件;如能熟悉掌握其中的逻辑概念,就可以对dble熟练配置;更高阶和详尽的用法,建议大家查阅官网的官方文档。

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



活动投稿海报.png


猜你喜欢

转载自blog.51cto.com/13803662/2349803