文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
混合规则
混合配置的规则项之间的叠加使用是通过数据源名称和表名称关联的。
如果前一个规则是面向数据源聚合的,下一个规则在配置数据源时,则需要使用前一个规则配置的聚合后的逻辑数据源名称; 同理,如果前一个规则是面向表聚合的,下一个规则在配置表时,则需要使用前一个规则配置的聚合后的逻辑表名称。
配置项说明
dataSources: # 配置真实存在的数据源作为名称
write_ds:
# ...省略具体配置
read_ds_0:
# ...省略具体配置
read_ds_1:
# ...省略具体配置
rules:
- !SHARDING # 配置数据分片规则
tables:
t_user:
actualDataNodes: ds.t_user_${0..1} # 数据源名称 `ds` 使用读写分离配置的逻辑数据源名称
tableStrategy:
standard:
shardingColumn: user_id
shardingAlgorithmName: t_user_inline
shardingAlgorithms:
t_user_inline:
type: INLINE
props:
algorithm-expression: t_user_${user_id % 2}
- !ENCRYPT # 配置数据加密规则
tables:
t_user: # 表名称 `t_user` 使用数据分片配置的逻辑表名称
columns:
pwd:
plainColumn: plain_pwd
cipherColumn: cipher_pwd
encryptorName: encryptor_aes
encryptors:
encryptor_aes:
type: aes
props:
aes-key-value: 123456abc
- !READWRITE_SPLITTING # 配置读写分离规则
dataSources:
ds: # 读写分离的逻辑数据源名称 `ds` 用于在数据分片中使用
writeDataSourceName: write_ds # 使用真实存在的数据源名称 `write_ds`
readDataSourceNames:
- read_ds_0 # 使用真实存在的数据源名称 `read_ds_0`
- read_ds_1 # 使用真实存在的数据源名称 `read_ds_1`
loadBalancerName: roundRobin
loadBalancers:
roundRobin:
type: ROUND_ROBIN
props:
sql-show: true
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论