DBLE 三分片的数据拆分场景
1、准备后端 MySQL 节点
DBLE 的架构其实很好理解,DBLE 是代理中间件,DBLE 后面是物理数据库。对于应用来说,访问的都是 DBLE,不会接触到后端的数据库。
部署架构表如下图:
服务 | IP:Port | 说明 |
---|---|---|
DBLE | 10.186.65.68:8066 | DBLE实例,连接数据库时,连接此IP:Port |
MySQL A | 10.186.65.71:1111 | 物理数据库实例A,真正存储数据的数据库 |
MySQL B | 10.186.65.72:1111 | 物理数据库实例B,A,B为主从关系 |
2、修改 sharding.xml 配置文件
<?xml version="1.0"?>
<!DOCTYPE dble:sharding SYSTEM "sharding.dtd">
<dble:sharding xmlns:dble="http://dble.cloud/" version="4.0">
<schema name="testdb" sqlMaxLimit="-1">
<shardingTable name="account" shardingNode="dn_01,dn_02,dn_03" sqlMaxLimit="-1" shardingColumn="id" function="sharding-by-hash"></shardingTable>
</schema>
<shardingNode name="dn_01" dbGroup="dh-mysql-dble" database="dh_dn_01"></shardingNode>
<shardingNode name="dn_03" dbGroup="dh-mysql-dble" database="dh_dn_03"></shardingNode>
<shardingNode name="dn_02" dbGroup="dh-mysql-dbl