init
This commit is contained in:
119
script/docker/shardingproxy/conf/config-encrypt.yaml
Normal file
119
script/docker/shardingproxy/conf/config-encrypt.yaml
Normal file
@@ -0,0 +1,119 @@
|
||||
#
|
||||
# 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 encrypt rule.
|
||||
#
|
||||
######################################################################################################
|
||||
#
|
||||
#databaseName: encrypt_db
|
||||
#
|
||||
#dataSources:
|
||||
# ds_0:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_ds_0
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# ds_1:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_ds_1
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
#
|
||||
#rules:
|
||||
#- !ENCRYPT
|
||||
# encryptors:
|
||||
# aes_encryptor:
|
||||
# type: AES
|
||||
# props:
|
||||
# aes-key-value: 123456abc
|
||||
# rc4_encryptor:
|
||||
# type: RC4
|
||||
# props:
|
||||
# rc4-key-value: 123456abc
|
||||
# tables:
|
||||
# t_encrypt:
|
||||
# columns:
|
||||
# user_id:
|
||||
# cipher:
|
||||
# name: user_cipher
|
||||
# encryptorName: aes_encryptor
|
||||
# order_id:
|
||||
# cipher:
|
||||
# name: order_encrypt
|
||||
# encryptorName: rc4_encryptor
|
||||
|
||||
######################################################################################################
|
||||
#
|
||||
# If you want to connect to MySQL, you should manually copy MySQL driver to lib directory.
|
||||
#
|
||||
######################################################################################################
|
||||
#
|
||||
#databaseName: encrypt_db
|
||||
#
|
||||
#dataSources:
|
||||
# ds_0:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_ds_0?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# ds_1:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_ds_1?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
#
|
||||
#rules:
|
||||
#- !ENCRYPT
|
||||
# encryptors:
|
||||
# aes_encryptor:
|
||||
# type: AES
|
||||
# props:
|
||||
# aes-key-value: 123456abc
|
||||
# rc4_encryptor:
|
||||
# type: RC4
|
||||
# props:
|
||||
# rc4-key-value: 123456abc
|
||||
# tables:
|
||||
# t_encrypt:
|
||||
# columns:
|
||||
# user_id:
|
||||
# cipher:
|
||||
# name: user_cipher
|
||||
# encryptorName: aes_encryptor
|
||||
# order_id:
|
||||
# cipher:
|
||||
# name: order_encrypt
|
||||
# encryptorName: rc4_encryptor
|
127
script/docker/shardingproxy/conf/config-mask.yaml
Normal file
127
script/docker/shardingproxy/conf/config-mask.yaml
Normal file
@@ -0,0 +1,127 @@
|
||||
#
|
||||
# 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 mask rule.
|
||||
#
|
||||
######################################################################################################
|
||||
#
|
||||
#databaseName: mask_db
|
||||
#
|
||||
#dataSources:
|
||||
# ds_0:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_ds_0
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# ds_1:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_ds_1
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
#
|
||||
#rules:
|
||||
#- !MASK
|
||||
# tables:
|
||||
# t_user:
|
||||
# columns:
|
||||
# password:
|
||||
# maskAlgorithm: md5_mask
|
||||
# email:
|
||||
# maskAlgorithm: mask_before_special_chars_mask
|
||||
# telephone:
|
||||
# maskAlgorithm: keep_first_n_last_m_mask
|
||||
#
|
||||
# maskAlgorithms:
|
||||
# md5_mask:
|
||||
# type: MD5
|
||||
# mask_before_special_chars_mask:
|
||||
# type: MASK_BEFORE_SPECIAL_CHARS
|
||||
# props:
|
||||
# special-chars: '@'
|
||||
# replace-char: '*'
|
||||
# keep_first_n_last_m_mask:
|
||||
# type: KEEP_FIRST_N_LAST_M
|
||||
# props:
|
||||
# first-n: 3
|
||||
# last-m: 4
|
||||
# replace-char: '*'
|
||||
|
||||
######################################################################################################
|
||||
#
|
||||
# If you want to connect to MySQL, you should manually copy MySQL driver to lib directory.
|
||||
#
|
||||
######################################################################################################
|
||||
#
|
||||
#databaseName: mask_db
|
||||
#
|
||||
#dataSources:
|
||||
# ds_0:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_ds_0?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# ds_1:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_ds_1?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
#
|
||||
#rules:
|
||||
#- !MASK
|
||||
# tables:
|
||||
# t_user:
|
||||
# columns:
|
||||
# password:
|
||||
# maskAlgorithm: md5_mask
|
||||
# email:
|
||||
# maskAlgorithm: mask_before_special_chars_mask
|
||||
# telephone:
|
||||
# maskAlgorithm: keep_first_n_last_m_mask
|
||||
#
|
||||
# maskAlgorithms:
|
||||
# md5_mask:
|
||||
# type: MD5
|
||||
# mask_before_special_chars_mask:
|
||||
# type: MASK_BEFORE_SPECIAL_CHARS
|
||||
# props:
|
||||
# special-chars: '@'
|
||||
# replace-char: '*'
|
||||
# keep_first_n_last_m_mask:
|
||||
# type: KEEP_FIRST_N_LAST_M
|
||||
# props:
|
||||
# first-n: 3
|
||||
# last-m: 4
|
||||
# replace-char: '*'
|
117
script/docker/shardingproxy/conf/config-readwrite-splitting.yaml
Normal file
117
script/docker/shardingproxy/conf/config-readwrite-splitting.yaml
Normal file
@@ -0,0 +1,117 @@
|
||||
#
|
||||
# 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 readwrite-splitting rule.
|
||||
#
|
||||
######################################################################################################
|
||||
#
|
||||
#databaseName: readwrite_splitting_db
|
||||
#
|
||||
#dataSources:
|
||||
# primary_ds:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_primary_ds
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# replica_ds_0:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_replica_ds_0
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# replica_ds_1:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_replica_ds_1
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
#
|
||||
#rules:
|
||||
#- !READWRITE_SPLITTING
|
||||
# dataSources:
|
||||
# readwrite_ds:
|
||||
# writeDataSourceName: primary_ds
|
||||
# readDataSourceNames:
|
||||
# - replica_ds_0
|
||||
# - replica_ds_1
|
||||
# loadBalancerName: random
|
||||
# loadBalancers:
|
||||
# random:
|
||||
# type: RANDOM
|
||||
|
||||
######################################################################################################
|
||||
#
|
||||
# If you want to connect to MySQL, you should manually copy MySQL driver to lib directory.
|
||||
#
|
||||
######################################################################################################
|
||||
|
||||
#databaseName: readwrite_splitting_db
|
||||
#
|
||||
#dataSources:
|
||||
# write_ds:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_write_ds?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# read_ds_0:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_read_ds_0?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# read_ds_1:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_read_ds_1?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
#
|
||||
#rules:
|
||||
#- !READWRITE_SPLITTING
|
||||
# dataSources:
|
||||
# readwrite_ds:
|
||||
# writeDataSourceName: write_ds
|
||||
# readDataSourceNames:
|
||||
# - read_ds_0
|
||||
# - read_ds_1
|
||||
# loadBalancerName: random
|
||||
# loadBalancers:
|
||||
# random:
|
||||
# type: RANDOM
|
175
script/docker/shardingproxy/conf/config-shadow.yaml
Normal file
175
script/docker/shardingproxy/conf/config-shadow.yaml
Normal file
@@ -0,0 +1,175 @@
|
||||
#
|
||||
# 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 shadow rule.
|
||||
#
|
||||
######################################################################################################
|
||||
#
|
||||
#databaseName: shadow_db
|
||||
#
|
||||
#dataSources:
|
||||
# ds:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_ds_0
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# shadow_ds:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_ds_1
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
#
|
||||
#rules:
|
||||
#- !SHADOW
|
||||
# dataSources:
|
||||
# shadowDataSource:
|
||||
# productionDataSourceName: ds
|
||||
# shadowDataSourceName: shadow_ds
|
||||
# tables:
|
||||
# t_order:
|
||||
# dataSourceNames:
|
||||
# - shadowDataSource
|
||||
# shadowAlgorithmNames:
|
||||
# - user_id_insert_match_algorithm
|
||||
# - user_id_select_match_algorithm
|
||||
# t_order_item:
|
||||
# dataSourceNames:
|
||||
# - shadowDataSource
|
||||
# shadowAlgorithmNames:
|
||||
# - user_id_insert_match_algorithm
|
||||
# - user_id_update_match_algorithm
|
||||
# - user_id_select_match_algorithm
|
||||
# t_address:
|
||||
# dataSourceNames:
|
||||
# - shadowDataSource
|
||||
# shadowAlgorithmNames:
|
||||
# - user_id_insert_match_algorithm
|
||||
# - user_id_select_match_algorithm
|
||||
# - sql_hint_algorithm
|
||||
# shadowAlgorithms:
|
||||
# user_id_insert_match_algorithm:
|
||||
# type: REGEX_MATCH
|
||||
# props:
|
||||
# operation: insert
|
||||
# column: user_id
|
||||
# regex: "[1]"
|
||||
# user_id_update_match_algorithm:
|
||||
# type: REGEX_MATCH
|
||||
# props:
|
||||
# operation: update
|
||||
# column: user_id
|
||||
# regex: "[1]"
|
||||
# user_id_select_match_algorithm:
|
||||
# type: REGEX_MATCH
|
||||
# props:
|
||||
# operation: select
|
||||
# column: user_id
|
||||
# regex: "[1]"
|
||||
# sql_hint_algorithm:
|
||||
# type: SQL_HINT
|
||||
# props:
|
||||
# foo: bar
|
||||
|
||||
######################################################################################################
|
||||
#
|
||||
# If you want to connect to MySQL, you should manually copy MySQL driver to lib directory.
|
||||
#
|
||||
######################################################################################################
|
||||
#
|
||||
#databaseName: shadow_db
|
||||
#
|
||||
#dataSources:
|
||||
# ds:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_ds_0?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# shadow_ds:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_ds_1?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
#
|
||||
#rules:
|
||||
#- !SHADOW
|
||||
# dataSources:
|
||||
# shadowDataSource:
|
||||
# productionDataSourceName: ds
|
||||
# shadowDataSourceName: shadow_ds
|
||||
# tables:
|
||||
# t_order:
|
||||
# dataSourceNames:
|
||||
# - shadowDataSource
|
||||
# shadowAlgorithmNames:
|
||||
# - user_id_insert_match_algorithm
|
||||
# - user_id_select_match_algorithm
|
||||
# t_order_item:
|
||||
# dataSourceNames:
|
||||
# - shadowDataSource
|
||||
# shadowAlgorithmNames:
|
||||
# - user_id_insert_match_algorithm
|
||||
# - user_id_update_match_algorithm
|
||||
# - user_id_select_match_algorithm
|
||||
# t_address:
|
||||
# dataSourceNames:
|
||||
# - shadowDataSource
|
||||
# shadowAlgorithmNames:
|
||||
# - user_id_insert_match_algorithm
|
||||
# - user_id_select_match_algorithm
|
||||
# - sql_hint_algorithm
|
||||
# shadowAlgorithms:
|
||||
# user_id_insert_match_algorithm:
|
||||
# type: REGEX_MATCH
|
||||
# props:
|
||||
# operation: insert
|
||||
# column: user_id
|
||||
# regex: "[1]"
|
||||
# user_id_update_match_algorithm:
|
||||
# type: REGEX_MATCH
|
||||
# props:
|
||||
# operation: update
|
||||
# column: user_id
|
||||
# regex: "[1]"
|
||||
# user_id_select_match_algorithm:
|
||||
# type: REGEX_MATCH
|
||||
# props:
|
||||
# operation: select
|
||||
# column: user_id
|
||||
# regex: "[1]"
|
||||
# sql_hint_algorithm:
|
||||
# type: SQL_HINT
|
||||
# props:
|
||||
# foo: bar
|
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
|
||||
|
92
script/docker/shardingproxy/conf/server.yaml
Normal file
92
script/docker/shardingproxy/conf/server.yaml
Normal file
@@ -0,0 +1,92 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
######################################################################################################
|
||||
#
|
||||
# If you want to configure governance, authorization and proxy properties, please refer to this file.
|
||||
#
|
||||
######################################################################################################
|
||||
|
||||
# mode:
|
||||
# type: Cluster
|
||||
# repository:
|
||||
# type: ZooKeeper
|
||||
# props:
|
||||
# namespace: governance_ds
|
||||
# server-lists: localhost:2181
|
||||
# retryIntervalMilliseconds: 500
|
||||
# timeToLiveSeconds: 60
|
||||
# maxRetries: 3
|
||||
# operationTimeoutMilliseconds: 500
|
||||
|
||||
authority:
|
||||
users:
|
||||
- user: root@%
|
||||
password: root
|
||||
- user: sharding
|
||||
password: sharding
|
||||
privilege:
|
||||
type: ALL_PERMITTED
|
||||
|
||||
transaction:
|
||||
defaultType: XA
|
||||
providerType: Atomikos
|
||||
|
||||
sqlParser:
|
||||
sqlCommentParseEnabled: false
|
||||
sqlStatementCache:
|
||||
initialCapacity: 2000
|
||||
maximumSize: 65535
|
||||
parseTreeCache:
|
||||
initialCapacity: 128
|
||||
maximumSize: 1024
|
||||
|
||||
logging:
|
||||
loggers:
|
||||
- loggerName: ShardingSphere-SQL
|
||||
additivity: true
|
||||
level: INFO
|
||||
props:
|
||||
enable: false
|
||||
|
||||
sqlFederation:
|
||||
sqlFederationEnabled: false
|
||||
executionPlanCache:
|
||||
initialCapacity: 2000
|
||||
maximumSize: 65535
|
||||
|
||||
props:
|
||||
system-log-level: INFO
|
||||
max-connections-size-per-query: 1
|
||||
kernel-executor-size: 16 # Infinite by default.
|
||||
proxy-frontend-flush-threshold: 128 # The default value is 128.
|
||||
# sql-show is the same as props in logger ShardingSphere-SQL, and its priority is lower than logging rule
|
||||
sql-show: false
|
||||
check-table-metadata-enabled: false
|
||||
# Proxy backend query fetch size. A larger value may increase the memory usage of ShardingSphere Proxy.
|
||||
# The default value is -1, which means set the minimum value for different JDBC drivers.
|
||||
proxy-backend-query-fetch-size: -1
|
||||
proxy-frontend-executor-size: 0 # Proxy frontend executor size. The default value is 0, which means let Netty decide.
|
||||
proxy-frontend-max-connections: 0 # Less than or equal to 0 means no limitation.
|
||||
proxy-default-port: 3307 # Proxy default port.
|
||||
proxy-netty-backlog: 1024 # Proxy netty backlog.
|
||||
cdc-server-port: 33071 # CDC server port
|
||||
proxy-frontend-ssl-enabled: false
|
||||
proxy-frontend-ssl-cipher: ''
|
||||
proxy-frontend-ssl-version: TLSv1.2,TLSv1.3
|
||||
|
||||
|
Reference in New Issue
Block a user