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 682e26a8034 Refactor ha document (#19049)
682e26a8034 is described below

commit 682e26a80340abcfe218f986d2f1c1ad46860545
Author: zhaojinchao <[email protected]>
AuthorDate: Tue Jul 12 12:11:00 2022 +0800

    Refactor ha document (#19049)
---
 .../shardingsphere-jdbc/java-api/rules/ha.cn.md    |  73 ++++++++++-
 .../shardingsphere-jdbc/java-api/rules/ha.en.md    | 122 ++++++++++++++-----
 .../spring-boot-starter/rules/ha.cn.md             |  61 +++++++++-
 .../spring-boot-starter/rules/ha.en.md             |  66 +++++++++-
 .../spring-namespace/rules/ha.cn.md                |  95 ++++++++++++++-
 .../spring-namespace/rules/ha.en.md                | 135 +++++++++++++++++----
 .../shardingsphere-jdbc/yaml-config/rules/ha.cn.md |  79 +++++++++++-
 .../shardingsphere-jdbc/yaml-config/rules/ha.en.md |  78 ++++++++++++
 8 files changed, 641 insertions(+), 68 deletions(-)

diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/ha.cn.md 
b/docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/ha.cn.md
index de60cc2b1a6..94952c3cfac 100644
--- 
a/docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/ha.cn.md
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/ha.cn.md
@@ -3,10 +3,15 @@ title = "高可用"
 weight = 4
 +++
 
-## 配置入口
+## 背景信息
 
-类名称:org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleConfiguration
+通过 `Java API` 方式构建高可用规则配置。
+
+## 参数解释
 
+### 配置入口
+
+类名称:org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleConfiguration
 可配置属性:
 
 | *名称*                      | *数据类型*                                           
        | *说明*           |
@@ -15,7 +20,7 @@ weight = 4
 | discoveryHeartbeats (+)    | Map\<String, 
DatabaseDiscoveryHeartBeatConfiguration\>      | 监听心跳配置      |
 | discoveryTypes (+)         | Map\<String, 
ShardingSphereAlgorithmConfiguration\>         | 数据库发现类型配置 |
 
-## 数据源配置
+### 数据源配置
 
 
类名称:org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration
 
@@ -28,7 +33,7 @@ weight = 4
 | discoveryHeartbeatName (+) | String               | 监听心跳名称                   
             | -        |
 | discoveryTypeName (+)      | String               | 数据库发现类型名称                
           | -        |
 
-## 监听心跳配置
+### 监听心跳配置
 
 
类名称:org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryHeartBeatConfiguration
 
@@ -38,7 +43,7 @@ weight = 4
 | --------- | ---------- | 
-------------------------------------------------------------------- | ------- |
 | props (+) | Properties | 监听心跳属性配置,keep-alive-cron 属性配置 cron 表达式,如:'0/5 * * * 
* ?' | -       |
 
-## 数据库发现类型配置
+### 数据库发现类型配置
 
 
类名称:org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration
 
@@ -46,3 +51,61 @@ weight = 4
 | --------- | ---------- | ------------------------------------------- | 
------- |
 | type (+)  | String     | 数据库发现类型,如:MySQL.MGR                   | -       |
 | props (?) | Properties | 数据库发现类型配置,如 MGR 的 group-name 属性配置 | -       |
+
+## 操作步骤
+
+1. 引入 Maven 依赖
+
+```xml
+<dependency>
+    <groupId>org.apache.shardingsphere</groupId>
+    <artifactId>shardingsphere-jdbc-core</artifactId>
+    <version>${latest.release.version}</version>
+</dependency>
+```
+> 注意:请将 `${latest.release.version}` 更改为实际的版本号。
+> 
+## 配置示例
+
+```java
+
+// 构建数据源 ds_0,ds_1,ds_2
+Map<String, DataSource> dataSourceMap = new HashMap<>(3, 1);
+dataSourceMap.put("ds_0", createDataSource1("primary_demo_ds"));
+dataSourceMap.put("ds_1", createDataSource2("primary_demo_ds"));
+dataSourceMap.put("ds_2", createDataSource3("primary_demo_ds"));
+
+DataSource dataSource = 
ShardingSphereDataSourceFactory.createDataSource("database_discovery_db", 
dataSourceMap, Arrays.asList(createDatabaseDiscoveryConfiguration(), 
createReadwriteSplittingConfiguration()), null);
+
+private static DatabaseDiscoveryRuleConfiguration 
createDatabaseDiscoveryConfiguration() {
+    DatabaseDiscoveryDataSourceRuleConfiguration dataSourceRuleConfiguration = 
new DatabaseDiscoveryDataSourceRuleConfiguration("readwrite_ds", 
Arrays.asList("ds_0, ds_1, ds_2"), "mgr-heartbeat", "mgr");
+    return new 
DatabaseDiscoveryRuleConfiguration(Collections.singleton(dataSourceRuleConfiguration),
 createDiscoveryHeartbeats(), createDiscoveryTypes());
+}
+
+private static ReadwriteSplittingRuleConfiguration 
createReadwriteSplittingConfiguration() {
+    ReadwriteSplittingDataSourceRuleConfiguration dataSourceConfiguration1 = 
new ReadwriteSplittingDataSourceRuleConfiguration("replica_ds", new 
DynamicReadwriteSplittingStrategyConfiguration("readwrite_ds", true), "");
+    return new 
ReadwriteSplittingRuleConfiguration(Arrays.asList(dataSourceConfiguration1), 
Collections.emptyMap());
+}
+
+private static Map<String, ShardingSphereAlgorithmConfiguration> 
createDiscoveryTypes() {
+    Map<String, ShardingSphereAlgorithmConfiguration> discoveryTypes = new 
HashMap<>(1, 1);
+    Properties props = new Properties();
+    props.put("group-name", "558edd3c-02ec-11ea-9bb3-080027e39bd2");
+    discoveryTypes.put("mgr", new ShardingSphereAlgorithmConfiguration("MGR", 
props));
+    return discoveryTypes;
+}
+
+private static Map<String, DatabaseDiscoveryHeartBeatConfiguration> 
createDiscoveryHeartbeats() {
+    Map<String, DatabaseDiscoveryHeartBeatConfiguration> 
discoveryHeartBeatConfiguration = new HashMap<>(1, 1);
+    Properties props = new Properties();
+    props.put("keep-alive-cron", "0/5 * * * * ?");
+    discoveryHeartBeatConfiguration.put("mgr-heartbeat", new 
DatabaseDiscoveryHeartBeatConfiguration(props));
+    return discoveryHeartBeatConfiguration;
+}
+```
+## 相关参考
+
+- [高可用核心特性](/cn/features/ha/)
+- [YAML配置:高可用配置](/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/ha/)
+- [Spring Boot 
Starter:高可用配置](/cn/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha/)
+- [Spring 
命名空间:高可用配置](/cn/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha/)
diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/ha.en.md 
b/docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/ha.en.md
index 94f39965185..e47b84f12ce 100644
--- 
a/docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/ha.en.md
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/java-api/rules/ha.en.md
@@ -3,48 +3,112 @@ title = "HA"
 weight = 4
 +++
 
-## Root Configuration
+## Background
 
-Class 
name:org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleConfiguration
+Build high availability rule configuration through `Java API`.
 
-Attributes:
+## Parameters
 
-| *Name*                      | *DataType*                                     
              | *Description*                         |
-| -------------------------  | 
------------------------------------------------------------- | 
------------------------------------- |
-| dataSources (+)            | 
Collection\<DatabaseDiscoveryDataSourceRuleConfiguration\>    | Data source 
configuration             |
-| discoveryHeartbeats (+)    | Map\<String, 
DatabaseDiscoveryHeartBeatConfiguration\>        | Detect heartbeat 
configuration        |
-| discoveryTypes (+)         | Map\<String, 
ShardingSphereAlgorithmConfiguration\>           | Database discovery type 
configuration |
+### Root Configuration
 
-## Data Source Configuration
+Class name: 
org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleConfiguration
+Attributes:
 
-Class 
name:org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration
+| *Name*                      | *Data Type*                                    
               | *Description*           |
+| -------------------------  | 
----------------------------------------------------------- | --------------- |
+| dataSources (+)            | 
Collection\<DatabaseDiscoveryDataSourceRuleConfiguration\>  | Data source 
configuration        |
+| discoveryHeartbeats (+)    | Map\<String, 
DatabaseDiscoveryHeartBeatConfiguration\>      | Detect heartbeat configuration 
     |
+| discoveryTypes (+)         | Map\<String, 
ShardingSphereAlgorithmConfiguration\>         | Database discovery type 
configuration |
 
-Attributes:
+### Data Source Configuration
 
-| *Name*                     | *DataType*           | *Description*            
                                                                | *Default 
Value* |
-| -------------------------- | -------------------- | 
----------------------------------------------------------------------------------------
 | -------------- |
-| groupName (+)              | String               | Database discovery group 
name                                                            | -             
 |
-| dataSourceNames (+)        | Collection\<String\> | Data source names, 
multiple data source names separated with comma. Such as: ds_0, ds_1  | -       
       |
-| discoveryHeartbeatName (+) | String               | Detect heartbeat name    
                                                                | -             
 |
-| discoveryTypeName (+)      | String               | Database discovery type 
name                                                             | -            
  |
+Class name: 
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration
 
-## Detect Heartbeat Configuration
+Attributes:
 
-Class 
name:org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryHeartBeatConfiguration
+| *Name*                     | *Data Type*             | *Description*         
                            | *Default Value* |
+| -------------------------- | -------------------- | 
----------------------------------------- | ------- |
+| groupName (+)              | String               | Database discovery group 
name                             | -       |
+| dataSourceNames (+)        | Collection\<String\> | Data source names, 
multiple data source names separated with comma. Such as: ds_0, ds_1 | -        
|
+| discoveryHeartbeatName (+) | String               | Detect heartbeat name    
                            | -        |
+| discoveryTypeName (+)      | String               | Database discovery type 
name                           | -        |
 
-Attributes:
+### Detect Heartbeat Configuration
+
+Class name: 
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryHeartBeatConfiguration
+
+Attributes:
 
-| *Name*                     | *DataType*             | *Description*          
                                                                                
            | *Default Value* |
-| -------------------------- | ---------------------- | 
------------------------------------------------------------------------------------------------------------------
 | --------------- |
-| props (+)                  | Properties             | Detect heartbeat 
attribute configuration, keep-alive-cron configuration, cron expression. Such 
as: '0/5 * * * * ?' | -               |
+| *Name*     | *Data Type*  | *Description*                                    
                            | *Default Value* |
+| --------- | ---------- | 
-------------------------------------------------------------------- | ------- |
+| props (+) | Properties | Detect heartbeat attribute configuration, 
keep-alive-cron configuration, cron expression. Such as: ‘0/5 * * * * ?’ | -    
   |
 
-## Database Discovery Type Configuration
+### Database Discovery Type Configuration
 
-Class 
name:org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration
+Class name: 
org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration
 
 Attributes:
 
-| *Name*                     | *DataType*             | *Description*          
                                                         | *Default Value* |
-| -------------------------- | ---------------------- | 
------------------------------------------------------------------------------- 
| --------------- |
-| type (+)                   | String                 | Database discovery 
type, such as: MySQL.MGR                                     | -               |
-| props (?)                  | Properties             | Required parameters 
for high-availability types, such as MGR's group-name       | -               |
+| *Name*     | *Data Type*  | *Description*                                    
   | *Default Value* |
+| --------- | ---------- | ------------------------------------------- | 
------- |
+| type (+)  | String     | Database discovery type, such as: MySQL.MGR         
          | -       |
+| props (?) | Properties | Required parameters for high-availability types, 
such as MGR’s group-name | -       |
+
+## Procedure
+
+1. Import Maven dependency.
+
+```xml
+<dependency>
+    <groupId>org.apache.shardingsphere</groupId>
+    <artifactId>shardingsphere-jdbc-core</artifactId>
+    <version>${latest.release.version}</version>
+</dependency>
+```
+
+> Notice: Please change `${latest.release.version}` to the actual version.
+
+## Sample
+
+```java
+
+// Build data source ds_0, ds_1, ds_2
+Map<String, DataSource> dataSourceMap = new HashMap<>(3, 1);
+dataSourceMap.put("ds_0", createDataSource1("primary_demo_ds"));
+dataSourceMap.put("ds_1", createDataSource2("primary_demo_ds"));
+dataSourceMap.put("ds_2", createDataSource3("primary_demo_ds"));
+
+DataSource dataSource = 
ShardingSphereDataSourceFactory.createDataSource("database_discovery_db", 
dataSourceMap, Arrays.asList(createDatabaseDiscoveryConfiguration(), 
createReadwriteSplittingConfiguration()), null);
+
+private static DatabaseDiscoveryRuleConfiguration 
createDatabaseDiscoveryConfiguration() {
+    DatabaseDiscoveryDataSourceRuleConfiguration dataSourceRuleConfiguration = 
new DatabaseDiscoveryDataSourceRuleConfiguration("readwrite_ds", 
Arrays.asList("ds_0, ds_1, ds_2"), "mgr-heartbeat", "mgr");
+    return new 
DatabaseDiscoveryRuleConfiguration(Collections.singleton(dataSourceRuleConfiguration),
 createDiscoveryHeartbeats(), createDiscoveryTypes());
+}
+
+private static ReadwriteSplittingRuleConfiguration 
createReadwriteSplittingConfiguration() {
+    ReadwriteSplittingDataSourceRuleConfiguration dataSourceConfiguration1 = 
new ReadwriteSplittingDataSourceRuleConfiguration("replica_ds", new 
DynamicReadwriteSplittingStrategyConfiguration("readwrite_ds", true), "");
+    return new 
ReadwriteSplittingRuleConfiguration(Arrays.asList(dataSourceConfiguration1), 
Collections.emptyMap());
+}
+
+private static Map<String, ShardingSphereAlgorithmConfiguration> 
createDiscoveryTypes() {
+    Map<String, ShardingSphereAlgorithmConfiguration> discoveryTypes = new 
HashMap<>(1, 1);
+    Properties props = new Properties();
+    props.put("group-name", "558edd3c-02ec-11ea-9bb3-080027e39bd2");
+    discoveryTypes.put("mgr", new ShardingSphereAlgorithmConfiguration("MGR", 
props));
+    return discoveryTypes;
+}
+
+private static Map<String, DatabaseDiscoveryHeartBeatConfiguration> 
createDiscoveryHeartbeats() {
+    Map<String, DatabaseDiscoveryHeartBeatConfiguration> 
discoveryHeartBeatConfiguration = new HashMap<>(1, 1);
+    Properties props = new Properties();
+    props.put("keep-alive-cron", "0/5 * * * * ?");
+    discoveryHeartBeatConfiguration.put("mgr-heartbeat", new 
DatabaseDiscoveryHeartBeatConfiguration(props));
+    return discoveryHeartBeatConfiguration;
+}
+```
+## Related References
+
+- [Feature Description of HA](/en/features/ha/)
+- [YAML Configuration: 
HA](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/ha/)
+- [Spring Boot Starter: 
HA](/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha/)
+- [Spring Namespace: 
HA](/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha/)
diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha.cn.md
 
b/docs/document/content/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha.cn.md
index 144af5e3554..9052e33d9d3 100644
--- 
a/docs/document/content/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha.cn.md
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha.cn.md
@@ -3,17 +3,72 @@ title = "高可用"
 weight = 3
 +++
 
-## 配置项说明
+## 背景信息
+
+`Spring Boot Starter` 配置方式适用于使用 SpringBoot 的业务场景,能够最大程度地利用 SpringBoot 配置初始化及 
Bean 管理的能力,自动完成 `ShardingSphereDataSource` 对象的创建。
+
+## 参数解释
 
 ```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.database-discovery.data-sources.<database-discovery-data-source-name>.data-source-names=
 # 数据源名称,多个数据源用逗号分隔 如:ds_0, ds_1
 
spring.shardingsphere.rules.database-discovery.data-sources.<database-discovery-data-source-name>.discovery-heartbeat-name=
 # 检测心跳名称
 
spring.shardingsphere.rules.database-discovery.data-sources.<database-discovery-data-source-name>.discovery-type-name=
 # 数据库发现类型名称
-
 
spring.shardingsphere.rules.database-discovery.discovery-heartbeats.<discovery-heartbeat-name>.props.keep-alive-cron=
 # cron 表达式,如:'0/5 * * * * ?'
-
 
spring.shardingsphere.rules.database-discovery.discovery-types.<discovery-type-name>.type=
 # 数据库发现类型,如:MySQL.MGR
 
spring.shardingsphere.rules.database-discovery.discovery-types.<discovery-type-name>.props.group-name=
 # 数据库发现类型必要参数,如 MGR 的 group-name
 ```
+
+## 操作步骤
+
+1. 引入 MAVEN 依赖
+
+```xml
+<dependency>
+    <groupId>org.apache.shardingsphere</groupId>
+    <artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>
+    <version>${latest.release.version}</version>
+</dependency>
+```
+
+> 注意:请将 `${latest.release.version}` 更改为实际的版本号。
+
+## 配置示例
+```properties
+spring.shardingsphere.datasource.names=ds-0,ds-1,ds-2
+spring.shardingsphere.datasource.ds-0.jdbc-url = 
jdbc:mysql://127.0.0.1:13306/primary_demo_ds?serverTimezone=UTC&useSSL=false
+spring.shardingsphere.datasource.ds-0.username=root
+spring.shardingsphere.datasource.ds-0.password=
+spring.shardingsphere.datasource.ds-0.type=com.zaxxer.hikari.HikariDataSource
+spring.shardingsphere.datasource.ds-0.driver-class-name=com.mysql.cj.jdbc.Driver
+
+spring.shardingsphere.datasource.ds-1.jdbc-url = 
jdbc:mysql://127.0.0.1:13307/primary_demo_ds?serverTimezone=UTC&useSSL=false
+spring.shardingsphere.datasource.ds-1.username=root
+spring.shardingsphere.datasource.ds-1.password=
+spring.shardingsphere.datasource.ds-1.type=com.zaxxer.hikari.HikariDataSource
+spring.shardingsphere.datasource.ds-1.driver-class-name=com.mysql.cj.jdbc.Driver
+
+spring.shardingsphere.datasource.ds-2.jdbc-url = 
jdbc:mysql://127.0.0.1:13308/primary_demo_ds?serverTimezone=UTC&useSSL=false
+spring.shardingsphere.datasource.ds-2.username=root
+spring.shardingsphere.datasource.ds-2.password=
+spring.shardingsphere.datasource.ds-2.type=com.zaxxer.hikari.HikariDataSource
+spring.shardingsphere.datasource.ds-2.driver-class-name=com.mysql.cj.jdbc.Driver
+
+spring.shardingsphere.rules.readwrite-splitting.data-sources.replica_ds.dynamic-strategy.auto-aware-data-source-name=readwrite_ds
+
+spring.shardingsphere.rules.database-discovery.data-sources.readwrite_ds.data-source-names=ds-0,
 ds-1, ds-2
+spring.shardingsphere.rules.database-discovery.data-sources.readwrite_ds.discovery-heartbeat-name=mgr-heartbeat
+spring.shardingsphere.rules.database-discovery.data-sources.readwrite_ds.discovery-type-name=mgr
+spring.shardingsphere.rules.database-discovery.discovery-heartbeats.mgr-heartbeat.props.keep-alive-cron=0/5
 * * * * ?
+spring.shardingsphere.rules.database-discovery.discovery-types.mgr.type=MGR
+spring.shardingsphere.rules.database-discovery.discovery-types.mgr.props.groupName=b13df29e-90b6-11e8-8d1b-525400fc3996
+```
+## 相关参考
+
+- [高可用核心特性](cn/features/ha/)
+- [JAVA API:高可用配置](/cn/user-manual/shardingsphere-jdbc/java-api/rules/ha/)
+- [YAML配置:高可用配置](/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/ha/)
+- [Spring 
命名空间:高可用配置](/cn/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha/)
diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha.en.md
 
b/docs/document/content/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha.en.md
index 24e4e35e1df..5a088ebfa8c 100644
--- 
a/docs/document/content/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha.en.md
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha.en.md
@@ -3,18 +3,72 @@ title = "HA"
 weight = 3
 +++
 
-## Configuration Item Explanation
+## Background
+
+The `Spring Boot Starter` configuration method is applicable to business 
scenarios using SpringBoot. It can make full use of the SpringBoot 
configuration initialization and bean management capabilities, to automatically 
complete the creation of `ShardingSphereDataSource` objects.
+
+## Parameters
 
 ```properties
-spring.shardingsphere.datasource.names= # Omit the data source configuration, 
please refer to the usage
+spring.shardingsphere.datasource.names= # Omit data source configuration, 
please refer to the user manual
 
-spring.shardingsphere.rules.database-discovery.data-sources.<database-discovery-data-source-name>.data-source-names=
 # Data source names, multiple data source names separated with comma. Such as: 
ds_0, ds_1
+spring.shardingsphere.rules.readwrite-splitting.data-sources.<readwrite-splitting-data-source-name>.dynamic-strategy.auto-aware-data-source-name=
 # Logical data source name discovered by the database
+
+spring.shardingsphere.rules.database-discovery.data-sources.<database-discovery-data-source-name>.data-source-names=
 # Data source name. Multiple data sources are separated by commas, for 
example: ds_0, ds_1
 
spring.shardingsphere.rules.database-discovery.data-sources.<database-discovery-data-source-name>.discovery-heartbeat-name=
 # Detect heartbeat name
 
spring.shardingsphere.rules.database-discovery.data-sources.<database-discovery-data-source-name>.discovery-type-name=
 # Database discovery type name
+spring.shardingsphere.rules.database-discovery.discovery-heartbeats.<discovery-heartbeat-name>.props.keep-alive-cron=
 # Cron expression, such as: '0/5 * * * * ?'
+spring.shardingsphere.rules.database-discovery.discovery-types.<discovery-type-name>.type=
 # Database discovery type, such as: MySQL.MGR
+spring.shardingsphere.rules.database-discovery.discovery-types.<discovery-type-name>.props.group-name=
 # Necessary parameters of database discovery type, such as group-name of MGR
+```
 
-spring.shardingsphere.rules.database-discovery.discovery-heartbeats.<discovery-heartbeat-name>.props.keep-alive-cron=
 # This is cron expression, such as:'0/5 * * * * ?'
+## Procedure
 
-spring.shardingsphere.rules.database-discovery.discovery-types.<discovery-type-name>.type=
 # Database discovery type, such as: MySQL.MGR
-spring.shardingsphere.rules.database-discovery.discovery-types.<discovery-type-name>.props.group-name=
 # Required parameters for database discovery types, such as MGR's group-name
+1. Import MAVEN dependency.
 
+```xml
+<dependency>
+    <groupId>org.apache.shardingsphere</groupId>
+    <artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>
+    <version>${latest.release.version}</version>
+</dependency>
 ```
+
+> Note: please change `${latest.release.version}' to the actual version number.
+
+## Sample
+```properties
+spring.shardingsphere.datasource.names=ds-0,ds-1,ds-2
+spring.shardingsphere.datasource.ds-0.jdbc-url = 
jdbc:mysql://127.0.0.1:13306/primary_demo_ds?serverTimezone=UTC&useSSL=false
+spring.shardingsphere.datasource.ds-0.username=root
+spring.shardingsphere.datasource.ds-0.password=
+spring.shardingsphere.datasource.ds-0.type=com.zaxxer.hikari.HikariDataSource
+spring.shardingsphere.datasource.ds-0.driver-class-name=com.mysql.cj.jdbc.Driver
+
+spring.shardingsphere.datasource.ds-1.jdbc-url = 
jdbc:mysql://127.0.0.1:13307/primary_demo_ds?serverTimezone=UTC&useSSL=false
+spring.shardingsphere.datasource.ds-1.username=root
+spring.shardingsphere.datasource.ds-1.password=
+spring.shardingsphere.datasource.ds-1.type=com.zaxxer.hikari.HikariDataSource
+spring.shardingsphere.datasource.ds-1.driver-class-name=com.mysql.cj.jdbc.Driver
+
+spring.shardingsphere.datasource.ds-2.jdbc-url = 
jdbc:mysql://127.0.0.1:13308/primary_demo_ds?serverTimezone=UTC&useSSL=false
+spring.shardingsphere.datasource.ds-2.username=root
+spring.shardingsphere.datasource.ds-2.password=
+spring.shardingsphere.datasource.ds-2.type=com.zaxxer.hikari.HikariDataSource
+spring.shardingsphere.datasource.ds-2.driver-class-name=com.mysql.cj.jdbc.Driver
+
+spring.shardingsphere.rules.readwrite-splitting.data-sources.replica_ds.dynamic-strategy.auto-aware-data-source-name=readwrite_ds
+
+spring.shardingsphere.rules.database-discovery.data-sources.readwrite_ds.data-source-names=ds-0,
 ds-1, ds-2
+spring.shardingsphere.rules.database-discovery.data-sources.readwrite_ds.discovery-heartbeat-name=mgr-heartbeat
+spring.shardingsphere.rules.database-discovery.data-sources.readwrite_ds.discovery-type-name=mgr
+spring.shardingsphere.rules.database-discovery.discovery-heartbeats.mgr-heartbeat.props.keep-alive-cron=0/5
 * * * * ?
+spring.shardingsphere.rules.database-discovery.discovery-types.mgr.type=MGR
+spring.shardingsphere.rules.database-discovery.discovery-types.mgr.props.groupName=b13df29e-90b6-11e8-8d1b-525400fc3996
+```
+## Related References
+
+- [Feature Description of HA](en/features/ha/)
+- [JAVA API: HA](/en/user-manual/shardingsphere-jdbc/java-api/rules/ha/)
+- [YAML Configuration: 
HA](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/ha/)
+- [Spring Namespace: 
HA](/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha/)
diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha.cn.md
 
b/docs/document/content/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha.cn.md
index fed3394c480..210bc572d03 100644
--- 
a/docs/document/content/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha.cn.md
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha.cn.md
@@ -3,9 +3,13 @@ title = "高可用"
 weight = 3
 +++
 
-## 配置项说明
+## 背景信息
 
-命名空间:[http://shardingsphere.apache.org/schema/shardingsphere/database-discovery/database-discovery-5.1.2.xsd](http://shardingsphere.apache.org/schema/shardingsphere/database-discovery/database-discovery-5.1.2.xsd)
+`Spring 命名空间` 的配置方式,适用于传统的 Spring 项目,通过命名空间 `xml` 配置文件的方式配置高可用规则,由 Spring 完成 
`ShardingSphereDataSource` 对象的创建和管理。
+
+## 参数解释
+
+命名空间:[http://shardingsphere.apache.org/schema/shardingsphere/database-discovery/database-discovery-5.1.1.xsd](http://shardingsphere.apache.org/schema/shardingsphere/database-discovery/database-discovery-5.1.1.xsd)
 
 \<database-discovery:rule />
 
@@ -38,3 +42,90 @@ weight = 3
 | id        | 属性  | 数据库发现类型名称                               |
 | type      | 属性  | 数据库发现类型,如:MySQL.MGR               |
 | props (?) | 标签  | 数据库发现类型配置,如 MGR 的 group-name 属性配置   |
+
+## 操作步骤
+
+### 1. 引入 MAVEN 依赖
+
+```xml
+<dependency>
+    <groupId>org.apache.shardingsphere</groupId>
+    <artifactId>shardingsphere-jdbc-core-spring-namespace</artifactId>
+    <version>${latest.release.version}</version>
+</dependency>
+``` 
+
+## 配置示例
+
+```xml  
+<beans xmlns="http://www.springframework.org/schema/beans";
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       
xmlns:cluster="http://shardingsphere.apache.org/schema/shardingsphere/mode-repository/cluster";
+       
xmlns:shardingsphere="http://shardingsphere.apache.org/schema/shardingsphere/datasource";
+       
xmlns:database-discovery="http://shardingsphere.apache.org/schema/shardingsphere/database-discovery";
+       
xmlns:readwrite-splitting="http://shardingsphere.apache.org/schema/shardingsphere/readwrite-splitting";
+       xsi:schemaLocation="http://www.springframework.org/schema/beans
+                           
http://www.springframework.org/schema/beans/spring-beans.xsd
+                           
http://shardingsphere.apache.org/schema/shardingsphere/database-discovery
+                           
http://shardingsphere.apache.org/schema/shardingsphere/database-discovery/database-discovery.xsd
+                           
http://shardingsphere.apache.org/schema/shardingsphere/readwrite-splitting
+                           
http://shardingsphere.apache.org/schema/shardingsphere/readwrite-splitting/readwrite-splitting.xsd
+                           
http://shardingsphere.apache.org/schema/shardingsphere/mode-repository/cluster
+                           
http://shardingsphere.apache.org/schema/shardingsphere/mode-repository/cluster/repository.xsd
+                           
http://shardingsphere.apache.org/schema/shardingsphere/datasource
+                           
http://shardingsphere.apache.org/schema/shardingsphere/datasource/datasource.xsd
+                           ">
+    <bean id="ds_0" class="com.zaxxer.hikari.HikariDataSource" 
destroy-method="close">
+        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
+        <property name="jdbcUrl" 
value="jdbc:mysql://127.0.0.1:33306/primary_demo_ds?serverTimezone=UTC&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8"
 />
+        <property name="username" value="root" />
+        <property name="password" value="" />
+    </bean>
+    <bean id="ds_1" class="com.zaxxer.hikari.HikariDataSource" 
destroy-method="close">
+        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
+        <property name="jdbcUrl" 
value="jdbc:mysql://127.0.0.1:33307/primary_demo_ds?serverTimezone=UTC&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8"
 />
+        <property name="username" value="root" />
+        <property name="password" value="" />
+    </bean>
+    <bean id="ds_2" class="com.zaxxer.hikari.HikariDataSource" 
destroy-method="close">
+        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
+        <property name="jdbcUrl" 
value="jdbc:mysql://127.0.0.1:33308/primary_demo_ds?useSSL=false"/>
+        <property name="username" value="root"/>
+        <property name="password" value=""/>
+    </bean>
+    <cluster:repository id="clusterRepository" type="ZooKeeper" 
namespace="governance" server-lists="localhost:2181">
+        <props>
+            <prop key="max-retries">3</prop>
+            <prop key="operation-timeout-milliseconds">3000</prop>
+        </props>
+    </cluster:repository>
+    <readwrite-splitting:rule id="readWriteSplittingRule">
+        <readwrite-splitting:data-source-rule id="replica_ds">
+            <readwrite-splitting:dynamic-strategy id="dynamicStrategy" 
auto-aware-data-source-name="readwrite_ds" />
+        </readwrite-splitting:data-source-rule>
+    </readwrite-splitting:rule>
+    <database-discovery:rule id="mgrDatabaseDiscoveryRule">
+        <database-discovery:data-source-rule id="readwrite_ds" 
data-source-names="ds_0,ds_1,ds_2" discovery-heartbeat-name="mgr-heartbeat" 
discovery-type-name="mgr" />
+        <database-discovery:discovery-heartbeat id="mgr-heartbeat">
+            <props>
+                <prop key="keep-alive-cron" >0/5 * * * * ?</prop>
+            </props>
+        </database-discovery:discovery-heartbeat>
+    </database-discovery:rule>
+    <database-discovery:discovery-type id="mgr" type="MySQL.MGR">
+        <props>
+            <prop key="group-name">558edd3c-02ec-11ea-9bb3-080027e39bd2</prop>
+        </props>
+    </database-discovery:discovery-type>
+    <shardingsphere:data-source id="databaseDiscoveryDataSource" 
schema-name="database-discovery-db" data-source-names="ds_0, ds_1, ds_2" 
rule-refs="readWriteSplittingRule, mgrDatabaseDiscoveryRule">
+    <shardingsphere:mode repository-ref="clusterRepository" type="Cluster" />
+    </shardingsphere:data-source>
+</beans>
+```
+
+## 相关参考
+
+- [高可用核心特性](cn/features/ha/)
+- [JAVA API:高可用配置](/cn/user-manual/shardingsphere-jdbc/java-api/rules/ha/)
+- [YAML配置:高可用配置](/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/ha/)
+- [Spring Boot 
Starter:高可用配置](/cn/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha/)
\ No newline at end of file
diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha.en.md
 
b/docs/document/content/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha.en.md
index 1b4d5564a11..0807b06579c 100644
--- 
a/docs/document/content/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha.en.md
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha.en.md
@@ -3,38 +3,129 @@ title = "HA"
 weight = 3
 +++
 
-## Configuration Item Explanation
+## Background
 
-Namespace:[http://shardingsphere.apache.org/schema/shardingsphere/database-discovery/database-discovery-5.1.2.xsd](http://shardingsphere.apache.org/schema/shardingsphere/database-discovery/database-discovery-5.1.2.xsd)
+The Spring namespace configuration method, applicable to traditional Spring 
projects, configures highly availability rules by means of namespace XML 
configuration files, and Spring completes the creation and management of 
ShardingSphereDataSource objects.
+
+## Parameters Explained
+
+Namespace: 
[http://shardingsphere.apache.org/schema/shardingsphere/database-discovery/database-discovery-5.1.1.xsd](http://shardingsphere.apache.org/schema/shardingsphere/database-discovery/database-discovery-5.1.1.xsd)
 
 \<database-discovery:rule />
 
-| *Name*                  | *Type*     | *Description*                         
|
-| ----------------------- | --------   | ------------------------------------- 
|
-| id                      | Attribute   | Spring Bean Id                       
|
-| data-source-rule (+)    | tag         | Data source rule configuration       
 |
-| discovery-heartbeat (+) | tag         | Detect heartbeat rule configuration  
 |
+| *Name*                  | *Type* | *Description*               |
+| ----------------------- | ------ | ------------------ |
+| id                      | Property   | Spring Bean Id      |
+| data-source-rule (+)    | Tag   | Configuration of data source rules |
+| discovery-heartbeat (+) | Tag   | Configuration of heartbeat rules detection 
|
 
 \<database-discovery:data-source-rule />
 
-| *Name*                      | *Type*     | *Description*                     
                                                     |
-| --------------------------- | ---------- | 
---------------------------------------------------------------------------------------
 |
-| id                          | Attribute  | Data source rule Id               
                                                       |
-| data-source-names           | Attribute  | Data source names, multiple data 
source names separated with comma. Such as: ds_0, ds_1  |
-| discovery-heartbeat-name    | Attribute  | Detect heartbeat name             
                                                       |
-| discovery-type-name         | Attribute  | Database discovery type name      
                                                         |
+| *Name*                       | *Type* | *Description*                        
              |
+| --------------------------- | ----- | 
------------------------------------------ |
+| id                          | Property  | Data source rules name  |
+| data-source-names           | Property  | Data source name,multiple 
datasources are divided by comma,such as:ds_0, ds_1  |
+| discovery-heartbeat-name    | Property  | Detect heartbeat name|
+| discovery-type-name         | Property  | type name of database discovery |
 
 \<database-discovery:discovery-heartbeat />
 
-| *Name*                      | *Type*     | *Description*                     
                 |
-| --------------------------- | ---------- | 
-------------------------------------------------- |
-| id                          | Attribute  | Detect heartbeat Id               
                 |
-| props                       | tag        | Detect heartbeat attribute 
configuration, keep-alive-cron configuration, cron expression. Such as: '0/5 * 
* * * ?'  |
+| *Name*                       | *Type* | *Description*                        
              |
+| --------------------------- | ----- | 
------------------------------------------  |
+| id                          | Property  | heartbeat listen name              
                   |
+| props                       | 标签  | property configuration of heartbeat 
listen,cron expression of keep-alive-cron property configuration,such as:'0/5 * 
* * * ?'  |
 
 \<database-discovery:discovery-type />
 
-| *Name*     | *Type*    | *Description*                                       
             |
-| --------- | ---------- | 
---------------------------------------------------------------- |
-| id        | Attribute  | Database discovery type Id                          
               |
-| type      | Attribute  | Database discovery type, such as: MySQL.MGR         
          |
-| props (?) | tag        | Required parameters for database discovery types, 
such as MGR's group-name   |
+| *Name*     | *Type* | *Description*                                    |
+| --------- | ----- | ----------------------------------------- |
+| id        | Property  | Type name of database discovery|
+| type      | Property  | Database discovery type,such as:MySQL.MGR            
   |
+| props (?) | Tag  | Configuration of database discovery type,such as 
group-name property configuration of MGR |
+
+## Operating Procedures
+
+### 1. Introduce Maven dependency
+
+```xml
+<dependency>
+    <groupId>org.apache.shardingsphere</groupId>
+    <artifactId>shardingsphere-jdbc-core-spring-namespace</artifactId>
+    <version>${latest.release.version}</version>
+</dependency>
+``` 
+
+## Configuration Example
+
+```xml  
+<beans xmlns="http://www.springframework.org/schema/beans";
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       
xmlns:cluster="http://shardingsphere.apache.org/schema/shardingsphere/mode-repository/cluster";
+       
xmlns:shardingsphere="http://shardingsphere.apache.org/schema/shardingsphere/datasource";
+       
xmlns:database-discovery="http://shardingsphere.apache.org/schema/shardingsphere/database-discovery";
+       
xmlns:readwrite-splitting="http://shardingsphere.apache.org/schema/shardingsphere/readwrite-splitting";
+       xsi:schemaLocation="http://www.springframework.org/schema/beans
+                           
http://www.springframework.org/schema/beans/spring-beans.xsd
+                           
http://shardingsphere.apache.org/schema/shardingsphere/database-discovery
+                           
http://shardingsphere.apache.org/schema/shardingsphere/database-discovery/database-discovery.xsd
+                           
http://shardingsphere.apache.org/schema/shardingsphere/readwrite-splitting
+                           
http://shardingsphere.apache.org/schema/shardingsphere/readwrite-splitting/readwrite-splitting.xsd
+                           
http://shardingsphere.apache.org/schema/shardingsphere/mode-repository/cluster
+                           
http://shardingsphere.apache.org/schema/shardingsphere/mode-repository/cluster/repository.xsd
+                           
http://shardingsphere.apache.org/schema/shardingsphere/datasource
+                           
http://shardingsphere.apache.org/schema/shardingsphere/datasource/datasource.xsd
+                           ">
+    <bean id="ds_0" class="com.zaxxer.hikari.HikariDataSource" 
destroy-method="close">
+        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
+        <property name="jdbcUrl" 
value="jdbc:mysql://127.0.0.1:33306/primary_demo_ds?serverTimezone=UTC&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8"
 />
+        <property name="username" value="root" />
+        <property name="password" value="" />
+    </bean>
+    <bean id="ds_1" class="com.zaxxer.hikari.HikariDataSource" 
destroy-method="close">
+        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
+        <property name="jdbcUrl" 
value="jdbc:mysql://127.0.0.1:33307/primary_demo_ds?serverTimezone=UTC&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8"
 />
+        <property name="username" value="root" />
+        <property name="password" value="" />
+    </bean>
+    <bean id="ds_2" class="com.zaxxer.hikari.HikariDataSource" 
destroy-method="close">
+        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
+        <property name="jdbcUrl" 
value="jdbc:mysql://127.0.0.1:33308/primary_demo_ds?useSSL=false"/>
+        <property name="username" value="root"/>
+        <property name="password" value=""/>
+    </bean>
+    <cluster:repository id="clusterRepository" type="ZooKeeper" 
namespace="governance" server-lists="localhost:2181">
+        <props>
+            <prop key="max-retries">3</prop>
+            <prop key="operation-timeout-milliseconds">3000</prop>
+        </props>
+    </cluster:repository>
+    <readwrite-splitting:rule id="readWriteSplittingRule">
+        <readwrite-splitting:data-source-rule id="replica_ds">
+            <readwrite-splitting:dynamic-strategy id="dynamicStrategy" 
auto-aware-data-source-name="readwrite_ds" />
+        </readwrite-splitting:data-source-rule>
+    </readwrite-splitting:rule>
+    <database-discovery:rule id="mgrDatabaseDiscoveryRule">
+        <database-discovery:data-source-rule id="readwrite_ds" 
data-source-names="ds_0,ds_1,ds_2" discovery-heartbeat-name="mgr-heartbeat" 
discovery-type-name="mgr" />
+        <database-discovery:discovery-heartbeat id="mgr-heartbeat">
+            <props>
+                <prop key="keep-alive-cron" >0/5 * * * * ?</prop>
+            </props>
+        </database-discovery:discovery-heartbeat>
+    </database-discovery:rule>
+    <database-discovery:discovery-type id="mgr" type="MySQL.MGR">
+        <props>
+            <prop key="group-name">558edd3c-02ec-11ea-9bb3-080027e39bd2</prop>
+        </props>
+    </database-discovery:discovery-type>
+    <shardingsphere:data-source id="databaseDiscoveryDataSource" 
schema-name="database-discovery-db" data-source-names="ds_0, ds_1, ds_2" 
rule-refs="readWriteSplittingRule, mgrDatabaseDiscoveryRule">
+    <shardingsphere:mode repository-ref="clusterRepository" type="Cluster" />
+    </shardingsphere:data-source>
+</beans>
+```
+
+## Related References
+
+- [Feature Description of HA](en/features/ha/)
+- [JAVA API: HA](/en/user-manual/shardingsphere-jdbc/java-api/rules/ha/)
+- [YAML Configuration: 
HA](/en/user-manual/shardingsphere-jdbc/yaml-config/rules/ha/)
+- [Spring Boot Starter: 
HA](/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha/)
\ No newline at end of file
diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/ha.cn.md
 
b/docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/ha.cn.md
index 20a41e846d8..cc90e17a2e3 100644
--- 
a/docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/ha.cn.md
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/ha.cn.md
@@ -3,10 +3,20 @@ title = "高可用"
 weight = 4
 +++
 
-## 配置项说明
+## 背景信息
+
+通过 `YAML` 格式,ShardingSphere 会根据 YAML 配置,自动完成 `ShardingSphereDataSource` 
对象的创建,减少用户不必要的编码工作。
+
+## 参数解释
 
 ```yaml
 rules:
+- !READWRITE_SPLITTING
+  dataSources:
+    replica_ds:
+      dynamicStrategy: Dynamic # 动态读写分离
+        autoAwareDataSourceName: # 高可用规则逻辑数据源名称
+
 - !DB_DISCOVERY
   dataSources:
     <data-source-name> (+): # 逻辑数据源名称
@@ -29,3 +39,70 @@ rules:
       props (?):
         group-name: 92504d5b-6dec-11e8-91ea-246e9612aaf1 # 数据库发现类型必要参数,如 MGR 的 
group-name
 ```
+
+## 配置示例
+
+```yaml
+databaseName: database_discovery_db
+
+dataSources:
+  ds_0:
+    url: 
jdbc:mysql://127.0.0.1:33306/primary_demo_ds?serverTimezone=UTC&useSSL=false
+    username: root
+    password:
+    connectionTimeoutMilliseconds: 3000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 50
+    minPoolSize: 1
+  ds_1:
+    url: 
jdbc:mysql://127.0.0.1:33307/primary_demo_ds?serverTimezone=UTC&useSSL=false
+    username: root
+    password:
+    connectionTimeoutMilliseconds: 3000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 50
+    minPoolSize: 1
+  ds_2:
+    url: 
jdbc:mysql://127.0.0.1:33308/primary_demo_ds?serverTimezone=UTC&useSSL=false
+    username: root
+    password:
+    connectionTimeoutMilliseconds: 3000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 50
+    minPoolSize: 1
+
+rules:
+  - !READWRITE_SPLITTING
+    dataSources:
+      replica_ds:
+        dynamicStrategy:
+          autoAwareDataSourceName: readwrite_ds
+
+  - !DB_DISCOVERY
+    dataSources:
+      readwrite_ds:
+        dataSourceNames:
+          - ds_0
+          - ds_1
+          - ds_2
+        discoveryHeartbeatName: mgr-heartbeat
+        discoveryTypeName: mgr
+    discoveryHeartbeats:
+      mgr-heartbeat:
+        props:
+          keep-alive-cron: '0/5 * * * * ?'
+    discoveryTypes:
+      mgr:
+        type: MySQL.MGR
+        props:
+          group-name: 558edd3c-02ec-11ea-9bb3-080027e39bd2
+```
+## 相关参考
+
+- [高可用核心特性](cn/features/ha/)
+- [JAVA API:高可用配置](/cn/user-manual/shardingsphere-jdbc/java-api/rules/ha/)
+- [Spring Boot 
Starter:高可用配置](/cn/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha/)
+- [Spring 
命名空间:高可用配置](/cn/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha/)
diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/ha.en.md
 
b/docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/ha.en.md
index 70bec70fe07..53a66ab89c6 100644
--- 
a/docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/ha.en.md
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/yaml-config/rules/ha.en.md
@@ -3,8 +3,20 @@ title = "HA"
 weight = 4
 +++
 
+## Background
+
+Through `YAML` format, ShardingSphere will automatically create the 
`ShardingSphereDataSource` object according to the YAML configuration, reducing 
unnecessary coding work for users.
+
+## Parameters
+
 ```yaml
 rules:
+- !READWRITE_SPLITTING
+  dataSources:
+    replica_ds:
+      dynamicStrategy:
+        autoAwareDataSourceName: # High availability rule logical data source 
name
+
 - !DB_DISCOVERY
   dataSources:
     <data-source-name> (+): # Logic data source name
@@ -27,3 +39,69 @@ rules:
       props (?):
         group-name: 92504d5b-6dec-11e8-91ea-246e9612aaf1 # Required parameters 
for database discovery types, such as MGR's group-name
 ```
+
+## Sample
+
+```yaml
+databaseName: database_discovery_db
+
+dataSources:
+  ds_0:
+    url: 
jdbc:mysql://127.0.0.1:33306/primary_demo_ds?serverTimezone=UTC&useSSL=false
+    username: root
+    password:
+    connectionTimeoutMilliseconds: 3000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 50
+    minPoolSize: 1
+  ds_1:
+    url: 
jdbc:mysql://127.0.0.1:33307/primary_demo_ds?serverTimezone=UTC&useSSL=false
+    username: root
+    password:
+    connectionTimeoutMilliseconds: 3000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 50
+    minPoolSize: 1
+  ds_2:
+    url: 
jdbc:mysql://127.0.0.1:33308/primary_demo_ds?serverTimezone=UTC&useSSL=false
+    username: root
+    password:
+    connectionTimeoutMilliseconds: 3000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 50
+    minPoolSize: 1
+
+rules:
+  - !READWRITE_SPLITTING
+    dataSources:
+      replica_ds:
+        dynamicStrategy:
+          autoAwareDataSourceName: readwrite_ds
+  - !DB_DISCOVERY
+    dataSources:
+      readwrite_ds:
+        dataSourceNames:
+          - ds_0
+          - ds_1
+          - ds_2
+        discoveryHeartbeatName: mgr-heartbeat
+        discoveryTypeName: mgr
+    discoveryHeartbeats:
+      mgr-heartbeat:
+        props:
+          keep-alive-cron: '0/5 * * * * ?'
+    discoveryTypes:
+      mgr:
+        type: MySQL.MGR
+        props:
+          group-name: 558edd3c-02ec-11ea-9bb3-080027e39bd2
+```
+## Related References
+
+- [Feature Description of HA](en/features/ha/)
+- [JAVA API: HA](/en/user-manual/shardingsphere-jdbc/java-api/rules/ha/)
+- [Spring Boot Starter: 
HA](/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha/)
+- [Spring Namespace: 
HA](/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha/)

Reply via email to