您好!
欢迎来到京东云开发者社区
登录
首页
博文
课程
大赛
工具
用户中心
开源
首页
博文
课程
大赛
工具
开源
更多
用户中心
开发者社区
>
博文
>
ShardingSphere-JDBC——影子库&&分布式治理配置手册
分享
打开微信扫码分享
点击前往QQ分享
点击前往微博分享
点击复制链接
ShardingSphere-JDBC——影子库&&分布式治理配置手册
Apache ShardingSphere
2021-01-22
IP归属:未知
56240浏览
# 影子库 ## Java API ### 配置入口 类名称:org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration 可配置属性: | *名称* | *数据类型* | *说明* | | -------------- | --------------------- | ----------------------------------------------------------------- | | column | String | SQL 中的影子字段名,该值为 true 的 SQL 会路由到影子库执行 | | sourceDataSourceNames | List\<String\> | 生产数据库名称 | | shadowDataSourceNames | List\<String\> | 影子数据库名称,与上面一一对应 | ## YAML配置 ### 配置项说明 ```yaml dataSource: # 省略数据源配置,请参考使用手册 rules: - !ENCRYPT tables: <table-name> (+): # 加密表名称 columns: <column-name> (+): # 加密列名称 cipherColumn: # 密文列名称 assistedQueryColumn (?): # 查询辅助列名称 plainColumn (?): # 原文列名称 encryptorName: # 加密算法名称 # 加密算法配置 encryptors: <encrypt-algorithm-name> (+): # 加解密算法名称 type: # 加解密算法类型 props: # 加解密算法属性配置 # ... props: # ... ``` 算法类型的详情,请参见[内置加密算法列表] ## SPRING BOOT STARTER 配置 ### 配置项说明 ```properties spring.shardingsphere.datasource.names= # 省略数据源配置,请参考使用手册 spring.shardingsphere.rules.shadow.column= # 影子字段名称名称 spring.shardingsphere.rules.shadow.shadow-mappings.<product-data-source-name>= # 影子数据库名称 ``` ## SPRING 命名空间配置 ### 配置项说明 命名空间:[http://shardingsphere.apache.org/schema/shardingsphere/encrypt/encrypt-5.0.0.xsd](http://shardingsphere.apache.org/schema/shardingsphere/encrypt/encrypt-5.0.0.xsd) \<encrypt:rule /> | *名称* | *类型* | *说明* | | --------- | ----- | ------------- | | id | 属性 | Spring Bean Id | | table (+) | 标签 | 加密表配置 | \<encrypt:table /> | *名称* | *类型* | *说明* | | ---------- | ----- | -------- | | name | 属性 | 加密表名称 | | column (+) | 标签 | 加密列配置 | \<encrypt:column /> | *名称* | *类型* | *说明* | | ------------------------- | ----- | ------------ | | logic-column | 属性 | 加密列逻辑名称 | | cipher-column | 属性 | 加密列名称 | | assisted-query-column (?) | 属性 | 查询辅助列名称 | | plain-column (?) | 属性 | 原文列名称 | | encrypt-algorithm-ref | 属性 | 加密算法名称 | \<encrypt:encrypt-algorithm /> | *名称* | *类型* | *说明* | | --------- | ----- | ------------- | | id | 属性 | 加密算法名称 | | type | 属性 | 加密算法类型 | | props (?) | 标签 | 加密算法属性配置 | 算法类型的详情,请参见[内置加密算法列表] # 分布式治理 ## Java API ### 配置项说明 #### 治理 *配置入口* 类名称:org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration 可配置属性: | *名称* | *数据类型* | *说明* | | ----------------------------------- | ----------------------------------- | ----------------------------------------------------------------- | | name | String | 注册中心实例名称 | | registryCenterConfiguration | GovernanceCenterConfiguration | 注册中心实例的配置 | | additionalConfigCenterConfiguration | GovernanceCenterConfiguration | 可选的配置中心实例配置 | | overwrite | boolean | 本地配置是否覆盖配置中心配置,如果可覆盖,每次启动都以本地配置为准 | 注册中心的类型可以为Zookeeper或etcd。 配置中心的类型可以为Zookeeper或etcd、Apollo、Nacos。 *治理实例配置* 类名称:org.apache.shardingsphere.governance.repository.api.config.GovernanceCenterConfiguration 可配置属性: | *名称* | *数据类型* | *说明* | | ------------- | ---------- | -------------------------------------------------------------------------- | | type | String | 治理实例类型,如:Zookeeper, etcd, Apollo, Nacos | | serverLists | String | 治理服务列表,包括 IP 地址和端口号,多个地址用逗号分隔,如: host1:2181,host2:2181 | | | props | Properties | 配置本实例需要的其他参数,例如 ZooKeeper 的连接参数等 | ZooKeeper 属性配置 | *名称* | *数据类型* | *说明* | *默认值* | | -------------------------------- | ---------- | --------------------- | ------- | | digest (?) | String | 连接注册中心的权限令牌 | 无需验证 | | operationTimeoutMilliseconds (?) | int | 操作超时的毫秒数 | 500 毫秒 | | maxRetries (?) | int | 连接失败后的最大重试次数 | 3 次 | | retryIntervalMilliseconds (?) | int | 重试间隔毫秒数 | 500 毫秒 | | timeToLiveSeconds (?) | int | 临时节点存活秒数 | 60 秒 | Etcd 属性配置 | *名称* | *数据类型* | *说明* | *默认值* | | --------------------- | --------- | ---------- | ------- | | timeToLiveSeconds (?) | long | 数据存活秒数 | 30秒 | Apollo 属性配置 | *名称* | *数据类型* | *说明* | *默认值* | | ------------------ | -------- | -------------------- | --------------------- | | appId (?) | String | Apollo appId | APOLLO_SHARDINGSPHERE | | env (?) | String | Apollo env | DEV | | clusterName (?) | String | Apollo clusterName | default | | administrator (?) | String | Apollo administrator | 空 | | token (?) | String | Apollo token | 空 | | portalUrl (?) | String | Apollo portalUrl | 空 | | connectTimeout (?) | int | 连接超时毫秒数 | 1000 毫秒 | | readTimeout (?) | int | 读取超时毫秒数 | 5000 毫秒 | Nacos 属性配置 | *名称* | *数据类型* | *说明* | *默认值* | | ----------- | --------- | ---------------------- | ---------------------------- | | group (?) | String | nacos group 配置 | SHARDING_SPHERE_DEFAULT_GROUP | | timeout (?) | long | nacos 获取数据超时毫秒数 | 3000 毫秒 | ## YAML配置 ### 配置项说明 ##### 治理 ```yaml governance: name: # 治理名称 registryCenter: # 配置中心 type: # 治理持久化类型。如:Zookeeper, etcd serverLists: # 治理服务列表。包括 IP 地址和端口号。多个地址用逗号分隔。如: host1:2181,host2:2181 additionalConfigCenter: type: # 治理持久化类型。如:Zookeeper, etcd, Nacos, Apollo serverLists: # 治理服务列表。包括 IP 地址和端口号。多个地址用逗号分隔。如: host1:2181,host2:2181 overwrite: # 本地配置是否覆盖配置中心配置。如果可覆盖,每次启动都以本地配置为准 ``` ## SPRING BOOT STARTER 配置 ### 配置项说明 #### 治理 ```properties spring.shardingsphere.governance.name= # 治理名称 spring.shardingsphere.governance.registry-center.type= # 治理持久化类型。如:Zookeeper, etcd, Apollo, Nacos spring.shardingsphere.governance.registry-center.server-lists= # 治理服务列表。包括 IP 地址和端口号。多个地址用逗号分隔。如: host1:2181,host2:2181 spring.shardingsphere.governance.registry-center.props= # 其它配置 spring.shardingsphere.governance.additional-config-center.type= # 可选的配置中心类型。如:Zookeeper, etcd, Apollo, Nacos spring.shardingsphere.governance.additional-config-center.server-lists= # 可选的配置中心服务列表。包括 IP 地址和端口号。多个地址用逗号分隔。如: host1:2181,host2:2181 spring.shardingsphere.governance.additional-config-center.props= # 可选的配置中心其它配置 spring.shardingsphere.governance.overwrite= # 本地配置是否覆盖配置中心配置。如果可覆盖,每次启动都以本地配置为准. ``` ## SPRING 命名空间配置 ### 配置项说明 #### 治理 ```xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:governance="http://shardingsphere.apache.org/schema/shardingsphere/governance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://shardingsphere.apache.org/schema/shardingsphere/governance http://shardingsphere.apache.org/schema/shardingsphere/governance/governance.xsd "> <governance:reg-center id="regCenter" type="ZooKeeper" server-lists="localhost:2181" /> <governance:config-center id="configCenter" type="ZooKeeper" server-lists="localhost:2182" /> <governance:data-source id="shardingDatabasesTablesDataSource" data-source-names="demo_ds_0, demo_ds_1" reg-center-ref="regCenter" config-center-ref="configCenter" rule-refs="shardingRule" overwrite="true" /> </beans> ``` 命名空间: [http://shardingsphere.apache.org/schema/shardingsphere/governance/governance-5.0.0.xsd](http://shardingsphere.apache.org/schema/shardingsphere/governance/governance-5.0.0.xsd) <governance:reg-center /> | *名称* | *类型* | *说明* | | ------------- | ------ | ----------------------------------------------------------------------------- | | id | 属性 | 注册中心实例名称 | | type | 属性 | 注册中心类型。如:ZooKeeper, etcd | | server-lists | 属性 | 注册中心服务列表。包括 IP 地址和端口号。多个地址用逗号分隔。如: host1:2181,host2:2181 | | props (?) | 属性 | 配置本实例需要的其他参数,例如 ZooKeeper 的连接参数等 | <governance:config-center /> | *名称* | *类型* | *说明* | | ------------- | ------ | ----------------------------------------------------------------------------- | | id | 属性 | 配置中心实例名称 | | type | 属性 | 配置中心类型。如:ZooKeeper, etcd, Apollo, Nacos | | server-lists | 属性 | 配置中心服务列表。包括 IP 地址和端口号。多个地址用逗号分隔。如: host1:2181,host2:2181 | | props (?) | 属性 | 配置本实例需要的其他参数,例如 ZooKeeper 的连接参数等 |
原创文章,需联系作者,授权转载
上一篇:ShardingSphere-JDBC内置算法即其他配置
下一篇:关于HTTPS配置证书异常的问题排查
Apache ShardingSphere
文章数
96
阅读量
231327
作者其他文章
01
突破关系型数据库桎梏:云原生数据库中间件核心剖析
数据库技术的发展与变革方兴未艾,NewSQL的出现,只是将各种所需技术组合在一起,而这些技术组合在一起所实现的核心功能,推动着云原生数据库的发展。 NewSQL的三种分类中,新架构和云数据库涉及了太多与数据库相关的底层实现,为了保证本文的范围不至太过发散,我们重点介绍透明化分片数据库中间件的核心功能与实现原理,另外两种类型的NewSQL在核心功能上类似,但实现原理会有所差别。
01
Apache ShardingSphere数据脱敏全解决方案详解(上)
Apache ShardingSphere针对新业务上线、旧业务改造分别提供了相应的全套脱敏解决方案。
01
Shardingsphere整合Narayana对XA分布式事务的支持(4)
ShardingSphere对于XA方案,提供了一套SPI解决方案,对Narayana进行了整合,Narayana初始化流程,开始事务流程,获取连接流程,提交事务流程,回滚事务流程。
01
从中间件到分布式数据库生态,ShardingSphere 5.x革新变旧
5.x 是 Apache ShardingSphere从分库分表中间件向分布式数据库生态转化的里程碑,从 4.x 版本后期开始打磨的可插拔架构在 5.x 版本已逐渐成型,项目的设计理念和 API 都进行了大幅提升。欢迎大家测试使用!
最新回复
丨
点赞排行
共0条评论
Apache ShardingSphere
文章数
96
阅读量
231327
作者其他文章
01
突破关系型数据库桎梏:云原生数据库中间件核心剖析
01
Apache ShardingSphere数据脱敏全解决方案详解(上)
01
Shardingsphere整合Narayana对XA分布式事务的支持(4)
01
从中间件到分布式数据库生态,ShardingSphere 5.x革新变旧
添加企业微信
获取1V1专业服务
扫码关注
京东云开发者公众号