You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by so...@apache.org on 2022/06/29 10:46:12 UTC

[shardingsphere] branch master updated: Refactor readwrite-splitting document about ShardingSphere-JDBC configuration (#18703)

This is an automated email from the ASF dual-hosted git repository.

soulasuna pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 1a45b069b0b Refactor readwrite-splitting document about ShardingSphere-JDBC configuration (#18703)
1a45b069b0b is described below

commit 1a45b069b0bfef490ed2fe8ac16266aae62b4491
Author: zhaojinchao <zh...@apache.org>
AuthorDate: Wed Jun 29 18:46:05 2022 +0800

    Refactor readwrite-splitting document about ShardingSphere-JDBC configuration (#18703)
    
    * Modify readwrite-splitting document about java api
    
    * Modify readwrite-splitting document about boot-starter
    
    * Modify document about yaml
    
    * Modify document about namespace
---
 .../java-api/rules/readwrite-splitting.cn.md       | 30 +++++++++++++----
 .../java-api/rules/readwrite-splitting.en.md       | 39 ++++++++++++++++------
 .../rules/readwrite-splitting.cn.md                | 24 ++++++++++---
 .../rules/readwrite-splitting.en.md                | 23 ++++++++++---
 .../rules/readwrite-splitting.cn.md                | 30 +++++++++++++----
 .../rules/readwrite-splitting.en.md                | 23 +++++++++++--
 .../yaml-config/rules/readwrite-splitting.cn.md    | 33 ++++++++++++++----
 .../yaml-config/rules/readwrite-splitting.en.md    | 27 ++++++++++++---
 8 files changed, 184 insertions(+), 45 deletions(-)

diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting.cn.md
index f76f065e868..c826dd64bbb 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting.cn.md
@@ -20,12 +20,30 @@ weight = 2
 
 可配置属性:
 
-| *名称*                     | *数据类型*             | *说明*                                                                                                                                 | *默认值*       |
-| -------------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------| ---------------|
-| name                       | String               | 读写分离数据源名称                                                                                                                       | -             |
-| type                       | String               | 读写分离类型,分为静态和动态。如 Static、Dynamic                                                                                           | -             |
-| props                      | Properties           | 读写分离所需属性,如静态:write-data-source-name、read-data-source-names,动态:auto-aware-data-source-name、write-data-source-query-enabled  | -             |
-| loadBalancerName (?)       | String               | 读库负载均衡算法名称                                                                                                                     | 轮询负载均衡算法 |
+| *名称*                     | *数据类型*                                          | *说明*            | *默认值*       |
+| -------------------------- | ------------------------------------------------- | ------------------| ---------------|
+| name                       | String                                            | 读写分离数据源名称   | -             |
+| staticStrategy             | StaticReadwriteSplittingStrategyConfiguration     | 静态读写分离配置     | -             |
+| dynamicStrategy            | DynamicReadwriteSplittingStrategyConfiguration    | 动态读写分离配置     | -             |
+| loadBalancerName (?)       | String                                            | 读库负载均衡算法名称  | 轮询负载均衡算法 |
+
+类名称:org.apache.shardingsphere.readwritesplitting.api.strategy.StaticReadwriteSplittingStrategyConfiguration
+
+可配置属性:
+
+| *名称*                     | *数据类型*           | *说明*            | *默认值*       |
+| -------------------------- | -------------------| ------------------| --------------|
+| writeDataSourceName        | String             | 写库数据源名称      | -             |
+| readDataSourceNames        | List\<String\>     | 读库数据源列表      | -             |
+
+类名称:org.apache.shardingsphere.readwritesplitting.api.strategy.DynamicReadwriteSplittingStrategyConfiguration
+
+可配置属性:
+
+| *名称*                          | *数据类型*          | *说明*                         | *默认值*       |
+| ------------------------------- | -------------------| -------------------------------| --------------|
+| autoAwareDataSourceName         | String             | 数据库发现的逻辑数据源名称         | -             |
+| writeDataSourceQueryEnabled (?) | String             | 读库全部下线,主库是否承担读流量    | true          |
 
 算法类型的详情,请参见[内置负载均衡算法列表](/cn/user-manual/shardingsphere-jdbc/builtin-algorithm/load-balance)。
 查询一致性路由的详情,请参见[使用规范](/cn/features/readwrite-splitting/use-norms)。
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting.en.md
index 335c6582918..0ff4ce87f98 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting.en.md
@@ -9,10 +9,10 @@ Class name: org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingR
 
 Attributes:
 
-| *Name*            | *DataType*                                            | *Description*                                                          |
-| ----------------- | ----------------------------------------------------- | ---------------------------------------------------------------------- |
-| dataSources (+)   | Collection\<ReadwriteSplittingDataSourceRuleConfiguration\> | Data sources of write and reads                                  |
-| loadBalancers (*) | Map\<String, ShardingSphereAlgorithmConfiguration\>   | Load balance algorithm name and configurations of replica data sources |
+| *Name*            | *DataType*                                                  | *Description*                                                          |
+| ----------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------- |
+| dataSources (+)   | Collection\<ReadwriteSplittingDataSourceRuleConfiguration\> | Data sources of write and reads                                        |
+| loadBalancers (*) | Map\<String, ShardingSphereAlgorithmConfiguration\>         | Load balance algorithm name and configurations of replica data sources |
 
 ## Readwrite-splitting Data Source Configuration
 
@@ -20,12 +20,31 @@ Class name: org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplit
 
 Attributes:
 
-| *Name*                     | *DataType*           | *Description*                                                                                                                                                       | *Default Value* |
-| -------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------|
-| name                       | String               | Readwrite-splitting data source name                                                                                                                                | -               |
-| type                       | String               | Readwrite-splitting type, such as: Static, Dynamic                                                                                                                  | -               |
-| props                      | Properties           | Readwrite-splitting required properties. Static: write-data-source-name, read-data-source-names, Dynamic: auto-aware-data-source-name, write-data-source-query-enabled| -               |
-| loadBalancerName (?)       | String               | Load balance algorithm name of replica sources                                                                                                                      | Round robin load balance algorithm |
+| *Name*                     | *DataType*           | *Description*                                     | *Default Value*                   |
+| -------------------------- | -------------------- | ------------------------------------------------- | ----------------------------------|
+| name                       | String               | Readwrite-splitting data source name              | -                                 |
+| staticStrategy             | String               | Static Readwrite-splitting configuration          | -                                 |
+| dynamicStrategy            | Properties           | Dynamic Readwrite-splitting configuration         | -                                  |
+| loadBalancerName (?)       | String               | Load balance algorithm name of replica sources    | Round robin load balance algorithm |
+
+
+Class name:org.apache.shardingsphere.readwritesplitting.api.strategy.StaticReadwriteSplittingStrategyConfiguration
+
+Attributes:
+
+| *Name*                     | *DataType*           | *Description*               | *Default Value* |
+| -------------------------- | ---------------------| ----------------------------| ----------------|
+| writeDataSourceName        | String               | Write data source name      | -               |
+| readDataSourceNames        | List\<String\>       | Read data sources list      | -               |
+
+Class name:org.apache.shardingsphere.readwritesplitting.api.strategy.DynamicReadwriteSplittingStrategyConfiguration
+
+Attributes:
+
+| *Name*                          | *DataType*        | *Description*                                                                                               | *Default Value*    |
+| ------------------------------- | -------------------| ------------------------------------------------------------------------------------------------------------| -------------------|
+| autoAwareDataSourceName         | String             | Database discovery logic data source name                                                                   | -                  |
+| writeDataSourceQueryEnabled (?) | String             | All read data source are offline, write data source whether the data source is responsible for read traffic | true               |
 
 Please refer to [Built-in Load Balance Algorithm List](/en/user-manual/shardingsphere-jdbc/builtin-algorithm/load-balance) for more details about type of algorithm.
 Please refer to [Use Norms](/en/features/readwrite-splitting/use-norms) for more details about query consistent routing.
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/readwrite-splitting.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/readwrite-splitting.cn.md
index 9a4ac772788..8d14ed3bce9 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/readwrite-splitting.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/readwrite-splitting.cn.md
@@ -5,14 +5,13 @@ weight = 2
 
 ## 配置项说明
 
+### 静态读写分离
+
 ```properties
 spring.shardingsphere.datasource.names= # 省略数据源配置,请参考使用手册
 
-spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.type= # 读写分离类型,如: Static,Dynamic
-spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.props.auto-aware-data-source-name= # 自动发现数据源名称(与数据库发现配合使用)
-spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.props.write-data-source-query-enabled= # 从库全部宕机、主库是否承担读流量(与数据库发现配合使用)
-spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.props.write-data-source-name= # 写数据源名称
-spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.props.read-data-source-names= # 读数据源名称,多个从数据源用逗号分隔
+spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.static-strategy.write-data-source-name= # 写库数据源名称
+spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.static-strategy.read-data-source-names= # 读库数据源列表,多个从数据源用逗号分隔
 spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.load-balancer-name= # 负载均衡算法名称
 
 # 负载均衡算法配置
@@ -20,5 +19,20 @@ spring.shardingsphere.rules.readwrite-splitting.load-balancers.<load-balance-alg
 spring.shardingsphere.rules.readwrite-splitting.load-balancers.<load-balance-algorithm-name>.props.xxx= # 负载均衡算法属性配置
 ```
 
+### 动态读写分离
+
+```properties
+spring.shardingsphere.datasource.names= # 省略数据源配置,请参考使用手册
+
+spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.dynamic-strategy.auto-aware-data-source-name= # 数据库发现逻辑数据源名称
+spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.dynamic-strategy.write-data-source-query-enabled= # 读库全部下线,主库是否承担读流量
+spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.load-balancer-name= # 负载均衡算法名称
+
+# 负载均衡算法配置
+spring.shardingsphere.rules.readwrite-splitting.load-balancers.<load-balance-algorithm-name>.type= # 负载均衡算法类型
+spring.shardingsphere.rules.readwrite-splitting.load-balancers.<load-balance-algorithm-name>.props.xxx= # 负载均衡算法属性配置
+```
+
+
 算法类型的详情,请参见[内置负载均衡算法列表](/cn/user-manual/shardingsphere-jdbc/builtin-algorithm/load-balance)。
 查询一致性路由的详情,请参见[使用规范](/cn/features/readwrite-splitting/use-norms)。
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/readwrite-splitting.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/readwrite-splitting.en.md
index f5d89eb25df..8ea107be5fc 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/readwrite-splitting.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/readwrite-splitting.en.md
@@ -5,14 +5,27 @@ weight = 2
 
 ## Configuration Item Explanation
 
+### Static Readwrite-splitting
+
+```properties
+spring.shardingsphere.datasource.names= # Omit the data source configuration, please refer to the usage
+
+spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.static-strategy.write-data-source-name= # Write data source name
+spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.static-strategy.read-data-source-names= # Read data source names, multiple data source names separated with comma
+spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.load-balancer-name= # Load balance algorithm name
+
+# Load balance algorithm configuration
+spring.shardingsphere.rules.readwrite-splitting.load-balancers.<load-balance-algorithm-name>.type= # Load balance algorithm type
+spring.shardingsphere.rules.readwrite-splitting.load-balancers.<load-balance-algorithm-name>.props.xxx= # Load balance algorithm properties
+```
+
+### Dynamic Readwrite-splitting
+
 ```properties
 spring.shardingsphere.datasource.names= # Omit the data source configuration, please refer to the usage
 
-spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.type= # Readwrite-splitting type, such as: Static, Dynamic
-spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.props.auto-aware-data-source-name= # Auto aware data source name(Use with database discovery)
-spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.props.write-data-source-query-enabled= # replicas all offline, primary data source whether provide query(Use with database discovery)
-spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.props.write-data-source-name= # Write data source name
-spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.props.read-data-source-names= # Read data source names, multiple data source names separated with comma
+spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.dynamic-strategy.auto-aware-data-source-name= # Database discovery logic data source name
+spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.dynamic-strategy.write-data-source-query-enabled= # All read data source are offline, write data source whether the data source is responsible for read traffic
 spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.load-balancer-name= # Load balance algorithm name
 
 # Load balance algorithm configuration
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/spring-namespace/rules/readwrite-splitting.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/spring-namespace/rules/readwrite-splitting.cn.md
index 63c6ac5fc3c..b9d17eb702c 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/spring-namespace/rules/readwrite-splitting.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/spring-namespace/rules/readwrite-splitting.cn.md
@@ -16,12 +16,30 @@ weight = 2
 
 \<readwrite-splitting:data-source-rule />
 
-| *名称*                     | *类型* | *说明*                                        |
-| -------------------------- | ----- | -------------------------------------------- |
-| id                         | 属性  | 读写分离数据源规则名称                           |
-| type                       | 属性  | 读写分离类型,分为静态和动态。如 Static、Dynamic  |
-| props                      | 标签  | 读写分离所需属性,如静态:write-data-source-name、read-data-source-names,动态:auto-aware-data-source-name、write-data-source-query-enabled  |
-| load-balance-algorithm-ref | 属性  | 负载均衡算法名称                               |
+| *名称*                     | *类型* | *说明*                 |
+| -------------------------- | ----- | --------------------- |
+| id                         | 属性  | 读写分离数据源规则名称    |
+| static-strategy            | 标签  | 静态读写分离类型         |
+| dynamic-strategy           | 标签  | 动态读写分离类型         |
+| load-balance-algorithm-ref | 属性  | 负载均衡算法名称         |
+
+\<readwrite-splitting:static-strategy />
+
+| *名称*                     | *类型* | *说明*                             |
+| -------------------------- | ----- | --------------------------------- |
+| id                         | 属性  | 静态读写分离名称                     |
+| write-data-source-name     | 属性  | 写库数据源名称                       |
+| read-data-source-names     | 属性  | 读库数据源列表,多个从数据源用逗号分隔  |
+| load-balance-algorithm-ref | 属性  | 负载均衡算法名称                     |
+
+\<readwrite-splitting:dynamic-strategy />
+
+| *名称*                            | *类型* | *说明*                            |
+| -------------------------------- | ----- | --------------------------------- |
+| id                               | 属性  | 动态读写分离名称                     |
+| auto-aware-data-source-name      | 属性  | 数据库发现逻辑数据源名称              |
+| write-data-source-query-enabled  | 属性  | 读库全部下线,主库是否承担读流量       |
+| load-balance-algorithm-ref       | 属性  | 负载均衡算法名称                     |
 
 
 \<readwrite-splitting:load-balance-algorithm />
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/spring-namespace/rules/readwrite-splitting.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/spring-namespace/rules/readwrite-splitting.en.md
index 9c8447b5a37..38d63c28931 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/spring-namespace/rules/readwrite-splitting.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/spring-namespace/rules/readwrite-splitting.en.md
@@ -19,10 +19,29 @@ Namespace: [http://shardingsphere.apache.org/schema/shardingsphere/readwrite-spl
 | *Name*                     | *Type*     | *Description*                                                           |
 | -------------------------- | ---------- | ----------------------------------------------------------------------- |
 | id                         | Attribute  | Readwrite-splitting data source rule name                               |
-| type                       | Attribute  | Readwrite-splitting type, such as: Static, Dynamic                      |
-| props                      | Tag        | Readwrite-splitting required properties. Static: write-data-source-name, read-data-source-names, Dynamic: auto-aware-data-source-name, write-data-source-query-enabled |
+| static-strategy            | Tag        | Static Readwrite-splitting type                                         |
+| dynamic-strategy           | Tag        | Dynamic Readwrite-splitting type                                        |
 | load-balance-algorithm-ref | Attribute  | Load balance algorithm name                                             |
 
+
+\<readwrite-splitting:static-strategy />
+
+| *Name*                     | *Type* | *Description*                                                          |
+| -------------------------- | ----- | ----------------------------------------------------------------------- |
+| id                         | Attribute  | Static readwrite-splitting name                                          |
+| write-data-source-name     | Attribute  | Write data source name                                                   |
+| read-data-source-names     | Attribute  | Read data source names, multiple data source names separated with comma  |
+| load-balance-algorithm-ref | Attribute  | Load balance algorithm name                                              |
+
+\<readwrite-splitting:dynamic-strategy />
+
+| *Name*                           | *Type*     | *Description*                                                                                               |
+| -------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------- |
+| id                               | Attribute  | Dynamic readwrite-splitting name                                                                            |
+| auto-aware-data-source-name      | Attribute  | Database discovery logic data source name                                                                   |
+| write-data-source-query-enabled  | Attribute  | All read data source are offline, write data source whether the data source is responsible for read traffic |
+| load-balance-algorithm-ref       | Attribute  | Load balance algorithm name                                                                                 |
+
 \<readwrite-splitting:load-balance-algorithm />
 
 | *Name*    | *Type*     | *Description*                     |
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting.cn.md
index e09ed484886..2391e5f955c 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting.cn.md
@@ -5,18 +5,37 @@ weight = 2
 
 ## 配置项说明
 
+### 静态读写分离
+
+```yaml
+rules:
+- !READWRITE_SPLITTING
+  dataSources:
+    <data-source-name> (+): # 读写分离逻辑数据源名称
+       static-strategy: # 读写分离类型
+         write-data-source-name: # 写库数据源名称
+         read-data-source-names: # 读库数据源名称,多个从数据源用逗号分隔
+       loadBalancerName: # 负载均衡算法名称
+  
+  # 负载均衡算法配置
+  loadBalancers:
+    <load-balancer-name> (+): # 负载均衡算法名称
+      type: # 负载均衡算法类型
+      props: # 负载均衡算法属性配置
+        # ...
+```
+
+### 动态读写分离
+
 ```yaml
 rules:
 - !READWRITE_SPLITTING
   dataSources:
     <data-source-name> (+): # 读写分离逻辑数据源名称
-        type: # 读写分离类型,比如:Static,Dynamic
-        props:
-          auto-aware-data-source-name: # 自动发现数据源名称(与数据库发现配合使用)
-          write-data-source-query-enabled: # 从库全部宕机、主库是否承担读流量(与数据库发现配合使用)
-          write-data-source-name: # 写库数据源名称
-          read-data-source-names: # 读库数据源名称,多个从数据源用逗号分隔
-      loadBalancerName: # 负载均衡算法名称
+       dynamic-strategy: # 读写分离类型
+         auto-aware-data-source-name: # 数据库发现逻辑数据源名称
+         write-data-source-query-enabled: # 从库全部下线,主库是否承担读流量
+       loadBalancerName: # 负载均衡算法名称
   
   # 负载均衡算法配置
   loadBalancers:
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting.en.md
index b1669edc005..6639e6a4c46 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting.en.md
@@ -5,15 +5,14 @@ weight = 2
 
 ## Configuration Item Explanation
 
+### Static Readwrite-splitting
+
 ```yaml
 rules:
 - !READWRITE_SPLITTING
   dataSources:
     <data-source-name> (+): # Logic data source name of readwrite-splitting
-      type: # Readwrite-splitting type, such as: Static, Dynamic
-      props:
-        auto-aware-data-source-name: # Auto aware data source name(Use with database discovery)
-        write-data-source-query-enabled: # replicas all offline, primary data source whether provide query(Use with database discovery)
+      static-strategy: # Readwrite-splitting type
         write-data-source-name: # Write data source name
         read-data-source-names: # Read data source names, multiple data source names separated with comma
       loadBalancerName: # Load balance algorithm name
@@ -26,5 +25,25 @@ rules:
         # ...
 ```
 
+### Dynamic Readwrite-splitting
+
+```yaml
+rules:
+- !READWRITE_SPLITTING
+  dataSources:
+    <data-source-name> (+): # Logic data source name of readwrite-splitting
+      dynamic-strategy: # Readwrite-splitting type
+        auto-aware-data-source-name: # Database discovery logic data source name
+        write-data-source-query-enabled: # All read data source are offline, write data source whether the data source is responsible for read traffic
+      loadBalancerName: # Load balance algorithm name
+  
+  # Load balance algorithm configuration
+  loadBalancers:
+    <load-balancer-name> (+): # Load balance algorithm name
+      type: # Load balance algorithm type
+      props: # Load balance algorithm properties
+        # ...
+```
+
 Please refer to [Built-in Load Balance Algorithm List](/en/user-manual/shardingsphere-jdbc/builtin-algorithm/load-balance) for more details about type of algorithm.
 Please refer to [Use Norms](/en/features/readwrite-splitting/use-norms) for more details about query consistent routing.