You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by tu...@apache.org on 2023/04/13 10:15:16 UTC

[shardingsphere] branch master updated: Rename ReadwriteSplittingStrategy to ReadwriteSplittingGroup (#25153)

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

tuichenchuxin 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 915f2f86380 Rename ReadwriteSplittingStrategy to ReadwriteSplittingGroup (#25153)
915f2f86380 is described below

commit 915f2f86380aa33e4a704217f5b144d5ae035363
Author: zhaojinchao <zh...@apache.org>
AuthorDate: Thu Apr 13 18:15:07 2023 +0800

    Rename ReadwriteSplittingStrategy to ReadwriteSplittingGroup (#25153)
    
    * Update document
    
    * Rename ReadwriteSplittingStrategy to ReadwriteSplittingGroup
---
 .../yaml-config/rules/readwrite-splitting.cn.md    | 26 +++------------------
 .../yaml-config/rules/readwrite-splitting.en.md    | 27 +++-------------------
 .../ReadwriteSplittingGroup.java}                  |  6 ++---
 .../type/StaticReadwriteSplittingGroup.java}       |  8 +++----
 ...StandardReadwriteSplittingDataSourceRouter.java |  2 +-
 .../rule/ReadwriteSplittingDataSourceRule.java     | 14 +++++------
 .../rule/ReadwriteSplittingRule.java               | 10 ++++----
 .../rule/ReadwriteSplittingRuleTest.java           |  4 ++--
 8 files changed, 28 insertions(+), 69 deletions(-)

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 2f409591091..7b509383f5d 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
@@ -9,16 +9,15 @@ weight = 2
 
 ## 参数解释
 
-### 静态读写分离
+### 读写分离
 
 ```yaml
 rules:
 - !READWRITE_SPLITTING
   dataSources:
     <data_source_name> (+): # 读写分离逻辑数据源名称
-       static_strategy: # 读写分离类型
-         write_data_source_name: # 写库数据源名称
-         read_data_source_names: # 读库数据源名称,多个从数据源用逗号分隔
+       write_data_source_name: # 写库数据源名称
+       read_data_source_names: # 读库数据源名称,多个从数据源用逗号分隔
        transactionalReadQueryStrategy (?): # 事务内读请求的路由策略,可选值:PRIMARY(路由至主库)、FIXED(同一事务内路由至固定数据源)、DYNAMIC(同一事务内路由至非固定数据源)。默认值:DYNAMIC
        loadBalancerName: # 负载均衡算法名称
   
@@ -30,25 +29,6 @@ rules:
         # ...
 ```
 
-### 动态读写分离
-
-```yaml
-rules:
-- !READWRITE_SPLITTING
-  dataSources:
-    <data_source_name> (+): # 读写分离逻辑数据源名称
-       dynamic_strategy: # 读写分离类型
-         auto_aware_data_source_name: # 数据库发现逻辑数据源名称
-       transactionalReadQueryStrategy (?): # 事务内读请求的路由策略,可选值:PRIMARY(路由至主库)、FIXED(同一事务内路由至固定数据源)、DYNAMIC(同一事务内路由至非固定数据源)。默认值:DYNAMIC
-       loadBalancerName: # 负载均衡算法名称
-  
-  # 负载均衡算法配置
-  loadBalancers:
-    <load_balancer_name> (+): # 负载均衡算法名称
-      type: # 负载均衡算法类型
-      props: # 负载均衡算法属性配置
-        # ...
-```
 算法类型的详情,请参见[内置负载均衡算法列表](/cn/user-manual/common-config/builtin-algorithm/load-balance)。
 查询一致性路由的详情,请参见[核心特性:读写分离](/cn/features/readwrite-splitting/)。
 
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 506d0595a76..252711e4a7f 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
@@ -8,36 +8,15 @@ Read/write splitting YAML configuration is highly readable. The YAML format enab
 
 ## Parameters
 
-### Static Readwrite-splitting
+### Readwrite-splitting
 
 ```yaml
 rules:
 - !READWRITE_SPLITTING
   dataSources:
     <data_source_name> (+): # Logic data source name of readwrite-splitting
-      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
-      transactionalReadQueryStrategy (?): # Routing strategy for read query within a transaction, values include: PRIMARY (to primary), FIXED (to fixed data source), DYNAMIC (to any data source), default value: DYNAMIC
-      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
-        # ...
-```
-
-### 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_name: # Write data source name
+      read_data_source_names: # Read data source names, multiple data source names separated with comma
       transactionalReadQueryStrategy (?): # Routing strategy for read query within a transaction, values include: PRIMARY (to primary), FIXED (to fixed data source), DYNAMIC (to any data source), default value: DYNAMIC
       loadBalancerName: # Load balance algorithm name
   
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/strategy/ReadwriteSplittingStrategy.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/group/ReadwriteSplittingGroup.java
similarity index 90%
rename from features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/strategy/ReadwriteSplittingStrategy.java
rename to features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/group/ReadwriteSplittingGroup.java
index b599bd0d366..678cd8a4c0a 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/strategy/ReadwriteSplittingStrategy.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/group/ReadwriteSplittingGroup.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.readwritesplitting.strategy;
+package org.apache.shardingsphere.readwritesplitting.group;
 
 import org.apache.shardingsphere.infra.datasource.mapper.DataSourceRoleInfo;
 
@@ -23,9 +23,9 @@ import java.util.Collection;
 import java.util.List;
 
 /**
- * Readwrite-splitting strategy.
+ * Readwrite-splitting group.
  */
-public interface ReadwriteSplittingStrategy {
+public interface ReadwriteSplittingGroup {
     
     /**
      * Get write data source.
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/strategy/type/StaticReadwriteSplittingStrategy.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/group/type/StaticReadwriteSplittingGroup.java
similarity index 86%
rename from features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/strategy/type/StaticReadwriteSplittingStrategy.java
rename to features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/group/type/StaticReadwriteSplittingGroup.java
index 7bacd55e1a4..b077c16084a 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/strategy/type/StaticReadwriteSplittingStrategy.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/group/type/StaticReadwriteSplittingGroup.java
@@ -15,22 +15,22 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.readwritesplitting.strategy.type;
+package org.apache.shardingsphere.readwritesplitting.group.type;
 
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.infra.datasource.mapper.DataSourceRole;
 import org.apache.shardingsphere.infra.datasource.mapper.DataSourceRoleInfo;
-import org.apache.shardingsphere.readwritesplitting.strategy.ReadwriteSplittingStrategy;
+import org.apache.shardingsphere.readwritesplitting.group.ReadwriteSplittingGroup;
 
 import java.util.Collection;
 import java.util.LinkedList;
 import java.util.List;
 
 /**
- * Static readwrite-splitting strategy.
+ * Static readwrite-splitting group.
  */
 @RequiredArgsConstructor
-public final class StaticReadwriteSplittingStrategy implements ReadwriteSplittingStrategy {
+public final class StaticReadwriteSplittingGroup implements ReadwriteSplittingGroup {
     
     private final String writeDataSourceName;
     
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/standard/StandardReadwriteSplittingDataSourceRouter.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/standard/StandardReadwriteSplittingDataSourceRouter.java
index fbd01ac03ae..93834a6d125 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/standard/StandardReadwriteSplittingDataSourceRouter.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/standard/StandardReadwriteSplittingDataSourceRouter.java
@@ -39,7 +39,7 @@ public final class StandardReadwriteSplittingDataSourceRouter {
     }
     
     private List<String> getFilteredReadDataSources(final ReadwriteSplittingDataSourceRule rule) {
-        List<String> result = rule.getReadwriteSplittingStrategy().getReadDataSources();
+        List<String> result = rule.getReadwriteSplittingGroup().getReadDataSources();
         for (ReadDataSourcesFilter each : ShardingSphereServiceLoader.getServiceInstances(ReadDataSourcesFilter.class)) {
             result = each.filter(rule, result);
         }
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingDataSourceRule.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingDataSourceRule.java
index 80d6ae7e6c7..ddd6baf4e98 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingDataSourceRule.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingDataSourceRule.java
@@ -21,8 +21,8 @@ import lombok.Getter;
 import org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
 import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionalReadQueryStrategy;
 import org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm;
-import org.apache.shardingsphere.readwritesplitting.strategy.ReadwriteSplittingStrategy;
-import org.apache.shardingsphere.readwritesplitting.strategy.type.StaticReadwriteSplittingStrategy;
+import org.apache.shardingsphere.readwritesplitting.group.ReadwriteSplittingGroup;
+import org.apache.shardingsphere.readwritesplitting.group.type.StaticReadwriteSplittingGroup;
 
 import java.util.Collection;
 import java.util.HashSet;
@@ -39,7 +39,7 @@ public final class ReadwriteSplittingDataSourceRule {
     
     private final ReadQueryLoadBalanceAlgorithm loadBalancer;
     
-    private final ReadwriteSplittingStrategy readwriteSplittingStrategy;
+    private final ReadwriteSplittingGroup readwriteSplittingGroup;
     
     private final Collection<String> disabledDataSourceNames = new HashSet<>();
     
@@ -48,11 +48,11 @@ public final class ReadwriteSplittingDataSourceRule {
         name = config.getName();
         this.transactionalReadQueryStrategy = transactionalReadQueryStrategy;
         this.loadBalancer = loadBalancer;
-        readwriteSplittingStrategy = createStaticReadwriteSplittingStrategy(config);
+        readwriteSplittingGroup = createStaticReadwriteSplittingGroup(config);
     }
     
-    private StaticReadwriteSplittingStrategy createStaticReadwriteSplittingStrategy(final ReadwriteSplittingDataSourceRuleConfiguration config) {
-        return new StaticReadwriteSplittingStrategy(config.getWriteDataSourceName(), config.getReadDataSourceNames());
+    private StaticReadwriteSplittingGroup createStaticReadwriteSplittingGroup(final ReadwriteSplittingDataSourceRuleConfiguration config) {
+        return new StaticReadwriteSplittingGroup(config.getWriteDataSourceName(), config.getReadDataSourceNames());
     }
     
     /**
@@ -61,7 +61,7 @@ public final class ReadwriteSplittingDataSourceRule {
      * @return write data source name
      */
     public String getWriteDataSource() {
-        return readwriteSplittingStrategy.getWriteDataSource();
+        return readwriteSplittingGroup.getWriteDataSource();
     }
     
     /**
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
index 4e26b8ab3b2..818c5f199d9 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
@@ -43,7 +43,7 @@ import org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleCo
 import org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
 import org.apache.shardingsphere.readwritesplitting.exception.rule.InvalidInlineExpressionDataSourceNameException;
 import org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm;
-import org.apache.shardingsphere.readwritesplitting.strategy.type.StaticReadwriteSplittingStrategy;
+import org.apache.shardingsphere.readwritesplitting.group.type.StaticReadwriteSplittingGroup;
 
 import java.util.Collection;
 import java.util.HashMap;
@@ -153,7 +153,7 @@ public final class ReadwriteSplittingRule implements DatabaseRule, DataSourceCon
     public Map<String, Collection<DataSourceRoleInfo>> getDataSourceMapper() {
         Map<String, Collection<DataSourceRoleInfo>> result = new LinkedHashMap<>();
         for (Entry<String, ReadwriteSplittingDataSourceRule> entry : dataSourceRules.entrySet()) {
-            result.put(entry.getValue().getName(), entry.getValue().getReadwriteSplittingStrategy().getAllDataSources());
+            result.put(entry.getValue().getName(), entry.getValue().getReadwriteSplittingGroup().getAllDataSources());
         }
         return result;
     }
@@ -174,7 +174,7 @@ public final class ReadwriteSplittingRule implements DatabaseRule, DataSourceCon
     }
     
     private void deleteStorageNodeDataSources(final ReadwriteSplittingDataSourceRule rule) {
-        rule.getReadwriteSplittingStrategy().getReadDataSources()
+        rule.getReadwriteSplittingGroup().getReadDataSources()
                 .forEach(each -> instanceContext.getEventBusContext().post(new StorageNodeDataSourceDeletedEvent(new QualifiedDatabase(databaseName, rule.getName(), each))));
     }
     
@@ -195,10 +195,10 @@ public final class ReadwriteSplittingRule implements DatabaseRule, DataSourceCon
     private Map<String, Map<String, String>> exportStaticDataSources() {
         Map<String, Map<String, String>> result = new LinkedHashMap<>(dataSourceRules.size(), 1);
         for (ReadwriteSplittingDataSourceRule each : dataSourceRules.values()) {
-            if (each.getReadwriteSplittingStrategy() instanceof StaticReadwriteSplittingStrategy) {
+            if (each.getReadwriteSplittingGroup() instanceof StaticReadwriteSplittingGroup) {
                 Map<String, String> exportedDataSources = new LinkedHashMap<>(2, 1);
                 exportedDataSources.put(ExportableItemConstants.PRIMARY_DATA_SOURCE_NAME, each.getWriteDataSource());
-                exportedDataSources.put(ExportableItemConstants.REPLICA_DATA_SOURCE_NAMES, String.join(",", each.getReadwriteSplittingStrategy().getReadDataSources()));
+                exportedDataSources.put(ExportableItemConstants.REPLICA_DATA_SOURCE_NAMES, String.join(",", each.getReadwriteSplittingGroup().getReadDataSources()));
                 result.put(each.getName(), exportedDataSources);
             }
         }
diff --git a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRuleTest.java b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRuleTest.java
index c31add28cea..746dae26cb8 100644
--- a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRuleTest.java
+++ b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRuleTest.java
@@ -65,8 +65,8 @@ class ReadwriteSplittingRuleTest {
     
     private void assertDataSourceRule(final ReadwriteSplittingDataSourceRule actual) {
         assertThat(actual.getName(), is("readwrite"));
-        assertThat(actual.getReadwriteSplittingStrategy().getWriteDataSource(), is("write_ds"));
-        assertThat(actual.getReadwriteSplittingStrategy().getReadDataSources(), is(Arrays.asList("read_ds_0", "read_ds_1")));
+        assertThat(actual.getReadwriteSplittingGroup().getWriteDataSource(), is("write_ds"));
+        assertThat(actual.getReadwriteSplittingGroup().getReadDataSources(), is(Arrays.asList("read_ds_0", "read_ds_1")));
         assertThat(actual.getLoadBalancer().getType(), is("RANDOM"));
     }