影子库
背景信息
如果您想在 ShardingSphere-Proxy 中使用 ShardingSphere 影子库功能请参考以下配置。
参数解释
rules:
- !SHADOW
dataSources:
shadowDataSource:
productionDataSourceName: # 生产数据源名称
shadowDataSourceName: # 影子数据源名称
tables:
<table_name>:
dataSourceNames: # 影子表关联影子数据源名称列表
- <shadow_data_source>
shadowAlgorithmNames: # 影子表关联影子算法名称列表
- <shadow_algorithm_name>
defaultShadowAlgorithmName: # 默认影子算法名称(选配项)
shadowAlgorithms:
<shadow_algorithm_name> (+): # 影子算法名称
type: # 影子算法类型
props: # 影子算法属性配置
详情请参见内置影子算法列表
操作步骤
- 在 YAML 文件中配置影子库规则,包含数据源、影子库规则、全局属性等配置项;
- 调用 YamlShardingSphereDataSourceFactory 对象的 createDataSource 方法,根据 YAML 文件中的配置信息创建 ShardingSphereDataSource。
配置示例
dataSources:
ds:
url: jdbc:mysql://127.0.0.1:3306/ds?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/shadow_ds?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
- sql_hint_algorithm
shadowAlgorithms:
user_id_insert_match_algorithm:
type: REGEX_MATCH
props:
operation: insert
column: user_id
regex: "[1]"
sql_hint_algorithm:
type: SQL_HINT
相关参考
当前内容版权归 ShardingSphere 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 ShardingSphere .