init
This commit is contained in:
124
script/docker/shardingproxy/conf/config-sharding.yaml
Normal file
124
script/docker/shardingproxy/conf/config-sharding.yaml
Normal file
@@ -0,0 +1,124 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
######################################################################################################
|
||||
#
|
||||
# Here you can configure the rules for the proxy.
|
||||
# This example is configuration of sharding rule.
|
||||
#
|
||||
######################################################################################################
|
||||
|
||||
databaseName: data-center_db
|
||||
|
||||
dataSources:
|
||||
ds_0:
|
||||
url: jdbc:mysql://localhost:3306/data-center_0?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
|
||||
username: root
|
||||
password: root
|
||||
connectionTimeoutMilliseconds: 30000
|
||||
idleTimeoutMilliseconds: 60000
|
||||
maxLifetimeMilliseconds: 1800000
|
||||
maxPoolSize: 50
|
||||
minPoolSize: 1
|
||||
ds_1:
|
||||
url: jdbc:mysql://localhost:3306/data-center_1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
|
||||
username: root
|
||||
password: root
|
||||
connectionTimeoutMilliseconds: 30000
|
||||
idleTimeoutMilliseconds: 60000
|
||||
maxLifetimeMilliseconds: 1800000
|
||||
maxPoolSize: 50
|
||||
minPoolSize: 1
|
||||
|
||||
rules:
|
||||
- !SHARDING
|
||||
tables: # 数据分片规则配置
|
||||
t_order: # 订单逻辑表名称
|
||||
actualDataNodes: ds_${0..1}.t_order_${0..1}
|
||||
databaseStrategy: # 配置分库策略
|
||||
standard:
|
||||
shardingColumn: user_id
|
||||
shardingAlgorithmName: database_user_inline
|
||||
tableStrategy: # 分表策略
|
||||
standard:
|
||||
shardingColumn: order_id
|
||||
shardingAlgorithmName: t_order_inline
|
||||
keyGenerateStrategy:
|
||||
column: order_id
|
||||
keyGeneratorName: snowflake
|
||||
# auditStrategy:
|
||||
# auditorNames:
|
||||
# - sharding_key_required_auditor
|
||||
# allowHintDisable: true
|
||||
t_order_item: # 子订单逻辑表名称
|
||||
actualDataNodes: ds_${0..1}.t_order_item_${0..1}
|
||||
databaseStrategy: # 配置分库策略
|
||||
standard:
|
||||
shardingColumn: user_id
|
||||
shardingAlgorithmName: database_user_inline
|
||||
tableStrategy: # 分表策略
|
||||
standard:
|
||||
shardingColumn: order_id
|
||||
shardingAlgorithmName: t_order_item_inline
|
||||
keyGenerateStrategy:
|
||||
column: order_item_id
|
||||
keyGeneratorName: snowflake
|
||||
bindingTables: # 绑定表规则列表
|
||||
- t_order,t_order_item
|
||||
# defaultDatabaseStrategy:
|
||||
# standard:
|
||||
# shardingColumn: user_id
|
||||
# shardingAlgorithmName: database_user_inline
|
||||
# defaultTableStrategy:
|
||||
# none:
|
||||
# defaultAuditStrategy:
|
||||
# auditorNames:
|
||||
# - sharding_key_required_auditor
|
||||
# allowHintDisable: true
|
||||
|
||||
# 分片算法配置
|
||||
shardingAlgorithms:
|
||||
database_user_inline:
|
||||
type: INLINE
|
||||
props:
|
||||
algorithm-expression: ds_${user_id % 2}
|
||||
t_order_inline: # 订单表分片算法名称
|
||||
type: INLINE
|
||||
props:
|
||||
algorithm-expression: t_order_${order_id % 2}
|
||||
allow-range-query-with-inline-sharding: true
|
||||
t_order_item_inline: # 子订单表分片算法名称
|
||||
type: INLINE
|
||||
props:
|
||||
algorithm-expression: t_order_item_${order_id % 2}
|
||||
allow-range-query-with-inline-sharding: true
|
||||
|
||||
# 分布式序列算法配置
|
||||
keyGenerators:
|
||||
snowflake:
|
||||
type: SNOWFLAKE
|
||||
props:
|
||||
worker-id: 1
|
||||
|
||||
# auditors:
|
||||
# sharding_key_required_auditor:
|
||||
# type: DML_SHARDING_CONDITIONS
|
||||
|
||||
# - !BROADCAST
|
||||
# tables:
|
||||
# - t_address
|
||||
|
Reference in New Issue
Block a user