dble
dble copied to clipboard
希望自定义虚拟节点编号
-
dble version:
-
3.22.01.0
-
configs:
cluster.cnf
clusterEnable=false
bootstrap.cnf
-DhomePath=/mnt_backup/dble
-DinstanceName=1
-DinstanceId=1
-DbindIp=0.0.0.0
-DserverPort=8066
-DmanagerPort=9066
db.xml
<?xml version="1.0"?>
<!--
~ Copyright (C) 2016-2022 ActionTech.
~ License: http://www.gnu.org/licenses/gpl.html GPL version 2 or higher.
-->
<!---->
<!---->
<!-- https://actiontech.github.io/dble-docs-cn/1.config_file/1.04_db.xml.html -->
<!-- 物理数据库信息配置 -->
<!---->
<!---->
<!---->
<dble:db xmlns:dble="http://dble.cloud/" version="4.0">
<dbGroup name="ds110" rwSplitMode="0" delayThreshold="-1">
<heartbeat>show slave status</heartbeat>
<dbInstance name="ds110-m1" url="127.0.0.1:3663" user="root" password="123456"
maxCon="1000" minCon="10"
primary="true">
<property name="testOnBorrow">false</property>
<property name="testOnCreate">false</property>
<property name="testWhileIdle">true</property>
</dbInstance>
</dbGroup>
<dbGroup name="ds111" rwSplitMode="0" delayThreshold="-1">
<heartbeat>show slave status</heartbeat>
<dbInstance name="ds111-m1" url="127.0.0.1:3663" user="root" password="123456"
maxCon="1000" minCon="10"
primary="true">
<property name="testOnBorrow">false</property>
<property name="testOnCreate">false</property>
<property name="testWhileIdle">true</property>
</dbInstance>
</dbGroup>
</dble:db>
user.xml
<dble:user xmlns:dble="http://dble.cloud/" version="4.0">
<managerUser name="ben" password="123456" maxCon="1000"/>
<shardingUser name="root" password="123456" schemas="scm_org_db" readOnly="false" maxCon="2000"/>
</dble:user>
sharding.xml
<dble:sharding xmlns:dble="http://dble.cloud/" version="4.0">
<!-- 多租户数据库配置 -->
<schema name="scm_org_db" sqlMaxLimit="1000">
<shardingTable name="bas_company" shardingNode="dn$110-111" function="func_enum" shardingColumn="group_id" sqlRequiredSharding="true"/>
<shardingTable name="bas_company_address" shardingNode="dn$110-111" function="func_enum" shardingColumn="group_id" sqlRequiredSharding="true"/>
</schema>
<!-- 分片节点配置 -->
<shardingNode name="dn110" dbGroup="ds110" database="scm_smpt_prod_110"/>
<shardingNode name="dn111" dbGroup="ds111" database="scm_smpt_prod_111"/>
<!-- 分库规则 -->
<function name="func_enum" class="Enum">
<property name="mapFile">partition-enum.txt</property>
<!-- 默认节点,默认为-1,表示意外值会报错 -->
<property name="defaultNode">-1</property>
<!-- 0 表示键是数字,1 表示键是字符串 -->
<property name="type">0</property>
</function>
</dble:sharding>
partition-enum.txt
# 希望可以将 0 修改为 110
110=0
# 希望可以将 1 修改为 111
111=1
问题描述: 如图,我是一个多租户平台,分库规则非常简单,希望分片值对应虚拟分片节点序号(数据库序号),不知道是否可以实现?
I think it can work, if it can't work, you can try customized route fuction, please refer:https://github.com/actiontech/dble-docs-cn/blob/master/1.config_file/1.09_dble_route_function_spec.md
0 means the first sharding_node,1 means the second sharding_node. So, we can't support it by default.