You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.9 KiB
YAML
94 lines
2.9 KiB
YAML
2 years ago
|
#
|
||
|
# 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: sharding_db
|
||
|
|
||
|
dataSources:
|
||
|
ds_0:
|
||
|
url: jdbc:postgresql://shardingsphere-example-postgres:5432/demo_ds_0?useUnicode=true&characterEncoding=utf-8&allowEncodingChanges=true
|
||
|
username: postgres
|
||
|
password: postgres
|
||
|
connectionTimeoutMilliseconds: 30000
|
||
|
idleTimeoutMilliseconds: 60000
|
||
|
maxLifetimeMilliseconds: 1800000
|
||
|
maxPoolSize: 50
|
||
|
ds_1:
|
||
|
url: jdbc:postgresql://shardingsphere-example-postgres:5432/demo_ds_1?useUnicode=true&characterEncoding=utf-8&allowEncodingChanges=true
|
||
|
username: postgres
|
||
|
password: postgres
|
||
|
connectionTimeoutMilliseconds: 30000
|
||
|
idleTimeoutMilliseconds: 60000
|
||
|
maxLifetimeMilliseconds: 1800000
|
||
|
maxPoolSize: 50
|
||
|
|
||
|
rules:
|
||
|
- !SHARDING
|
||
|
tables:
|
||
|
t_order:
|
||
|
actualDataNodes: ds_${0..1}.t_order_${0..1}
|
||
|
tableStrategy:
|
||
|
standard:
|
||
|
shardingColumn: order_id
|
||
|
shardingAlgorithmName: t-order-inline
|
||
|
keyGenerateStrategy:
|
||
|
column: order_id
|
||
|
keyGeneratorName: snowflake
|
||
|
t_order_item:
|
||
|
actualDataNodes: ds_${0..1}.t_order_item_${0..1}
|
||
|
tableStrategy:
|
||
|
standard:
|
||
|
shardingColumn: order_id
|
||
|
shardingAlgorithmName: t-order-item-inline
|
||
|
keyGenerateStrategy:
|
||
|
column: order_id
|
||
|
keyGeneratorName: snowflake
|
||
|
|
||
|
bindingTables:
|
||
|
- t_order,t_order_item
|
||
|
|
||
|
defaultDatabaseStrategy:
|
||
|
standard:
|
||
|
shardingColumn: user_id
|
||
|
shardingAlgorithmName: database-inline
|
||
|
|
||
|
defaultTableStrategy:
|
||
|
none:
|
||
|
|
||
|
shardingAlgorithms:
|
||
|
database-inline:
|
||
|
type: INLINE
|
||
|
props:
|
||
|
algorithm-expression: ds_${user_id % 2}
|
||
|
t-order-inline:
|
||
|
type: INLINE
|
||
|
props:
|
||
|
algorithm-expression: t_order_${order_id % 2}
|
||
|
t-order-item-inline:
|
||
|
type: INLINE
|
||
|
props:
|
||
|
algorithm-expression: t_order_item_${order_id % 2}
|
||
|
|
||
|
keyGenerators:
|
||
|
snowflake:
|
||
|
type: SNOWFLAKE
|