You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ki...@apache.org on 2020/09/09 08:56:28 UTC

[shardingsphere] branch master updated: Refactor registry center node (#7350)

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

kimmking 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 8d39baf  Refactor registry center node (#7350)
8d39baf is described below

commit 8d39baf7ed1429f3cbd57a25040cb412a14bae8d
Author: Haoran Meng <me...@gmail.com>
AuthorDate: Wed Sep 9 16:56:09 2020 +0800

    Refactor registry center node (#7350)
---
 .../governance/core/facade/GovernanceFacade.java   |  2 +-
 .../core/facade/GovernanceFacadeTest.java          |  4 +-
 .../governance/core/registry/RegistryCenter.java   | 16 ++++----
 .../core/registry/RegistryCenterNode.java          | 46 +++++++++++-----------
 .../listener/DataSourceStateChangedListener.java   |  2 +-
 .../listener/InstanceStateChangedListener.java     |  2 +-
 .../core/registry/RegistryCenterNodeTest.java      | 26 ++++++------
 .../core/registry/RegistryCenterTest.java          |  4 +-
 .../DataSourceStateChangedListenerTest.java        |  2 +-
 9 files changed, 52 insertions(+), 52 deletions(-)

diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-facade/src/main/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacade.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-facade/src/main/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacade.java
index b650d1b..0290eba 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-facade/src/main/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacade.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-facade/src/main/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacade.java
@@ -91,7 +91,7 @@ public final class GovernanceFacade implements AutoCloseable {
      */
     public void onlineInstance() {
         registryCenter.persistInstanceOnline();
-        registryCenter.persistDataSourcesNode();
+        registryCenter.persistDataNodes();
         listenerManager.init();
     }
     
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-facade/src/test/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacadeTest.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-facade/src/test/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacadeTest.java
index 1427327..99db72c 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-facade/src/test/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacadeTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-facade/src/test/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacadeTest.java
@@ -87,7 +87,7 @@ public final class GovernanceFacadeTest {
         verify(configCenter).persistConfigurations("sharding_db", dataSourceConfigurationMap, ruleConfigurationMap.get("sharding_db"), false);
         verify(configCenter).persistGlobalConfiguration(authentication, props, false);
         verify(registryCenter).persistInstanceOnline();
-        verify(registryCenter).persistDataSourcesNode();
+        verify(registryCenter).persistDataNodes();
         verify(listenerManager).init();
     }
     
@@ -95,7 +95,7 @@ public final class GovernanceFacadeTest {
     public void assertOnlineInstanceWithoutParameters() {
         governanceFacade.onlineInstance();
         verify(registryCenter).persistInstanceOnline();
-        verify(registryCenter).persistDataSourcesNode();
+        verify(registryCenter).persistDataNodes();
         verify(listenerManager).init();
     }
     
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenter.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenter.java
index e9efe08..a60e442 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenter.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenter.java
@@ -45,14 +45,14 @@ public final class RegistryCenter {
      * Persist instance online.
      */
     public void persistInstanceOnline() {
-        repository.persistEphemeral(node.getInstancesNodeFullPath(instance.getInstanceId()), "");
+        repository.persistEphemeral(node.getProxyNodePath(instance.getInstanceId()), "");
     }
     
     /**
-     * Initialize data sources node.
+     * Initialize data nodes.
      */
-    public void persistDataSourcesNode() {
-        repository.persist(node.getDataSourcesNodeFullRootPath(), "");
+    public void persistDataNodes() {
+        repository.persist(node.getDataNodesPath(), "");
     }
     
     /**
@@ -60,7 +60,7 @@ public final class RegistryCenter {
      * @param instanceData instance data
      */
     public void persistInstanceData(final String instanceData) {
-        repository.persist(node.getInstancesNodeFullPath(instance.getInstanceId()), instanceData);
+        repository.persist(node.getProxyNodePath(instance.getInstanceId()), instanceData);
     }
     
     /**
@@ -68,7 +68,7 @@ public final class RegistryCenter {
      * @return instance data
      */
     public String loadInstanceData() {
-        return repository.get(node.getInstancesNodeFullPath(instance.getInstanceId()));
+        return repository.get(node.getProxyNodePath(instance.getInstanceId()));
     }
     
     /**
@@ -83,10 +83,10 @@ public final class RegistryCenter {
     }
     
     private Collection<String> loadDataSourcesBySchemaName(final String schemaName) {
-        return repository.getChildrenKeys(node.getDataSourcesNodeSchemaPath(schemaName));
+        return repository.getChildrenKeys(node.getSchemaPath(schemaName));
     }
     
     private String getDataSourceNodeData(final String schemaName, final String dataSourceName) {
-        return repository.get(node.getDataSourcesNodeDataSourcePath(schemaName, dataSourceName));
+        return repository.get(node.getDataSourcePath(schemaName, dataSourceName));
     }
 }
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterNode.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterNode.java
index a0d3922..e06b782 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterNode.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterNode.java
@@ -33,50 +33,50 @@ import java.util.regex.Pattern;
 @RequiredArgsConstructor
 public final class RegistryCenterNode {
     
-    private static final String ROOT = "registry";
+    private static final String ROOT = "states";
     
-    private static final String INSTANCES_NODE_PATH = "instances";
+    private static final String PROXY_NODES_NAME = "proxynodes";
     
-    private static final String DATA_SOURCES_NODE_PATH = "datasources";
+    private static final String DATA_NODES_NAME = "datanodes";
     
     /**
-     * Get instance node full path.
+     * Get proxy node path.
      *
      * @param instanceId instance id
-     * @return instance node full path
+     * @return proxy node path
      */
-    public String getInstancesNodeFullPath(final String instanceId) {
-        return Joiner.on("/").join("", ROOT, INSTANCES_NODE_PATH, instanceId);
+    public String getProxyNodePath(final String instanceId) {
+        return Joiner.on("/").join("", ROOT, PROXY_NODES_NAME, instanceId);
     }
     
     /**
-     * Get data sources node full root path.
+     * Get data nodes path.
      *
-     * @return data sources node full root path
+     * @return data nodes path
      */
-    public String getDataSourcesNodeFullRootPath() {
-        return Joiner.on("/").join("", ROOT, DATA_SOURCES_NODE_PATH);
+    public String getDataNodesPath() {
+        return Joiner.on("/").join("", ROOT, DATA_NODES_NAME);
     }
     
     /**
-     * Get data sources node schema path.
+     * Get schema path.
      * 
      * @param schemaName schema name
-     * @return data sources node schema path
+     * @return schema path
      */
-    public String getDataSourcesNodeSchemaPath(final String schemaName) {
-        return Joiner.on("/").join("", ROOT, DATA_SOURCES_NODE_PATH, schemaName);
+    public String getSchemaPath(final String schemaName) {
+        return Joiner.on("/").join("", ROOT, DATA_NODES_NAME, schemaName);
     }
     
     /**
-     * Get data sources node data source path.
+     * Get data source path.
      * 
      * @param schemaName schema name
      * @param dataSourceName data source name
-     * @return data sources node data source path
+     * @return data source path
      */
-    public String getDataSourcesNodeDataSourcePath(final String schemaName, final String dataSourceName) {
-        return Joiner.on("/").join("", ROOT, DATA_SOURCES_NODE_PATH, schemaName, dataSourceName);
+    public String getDataSourcePath(final String schemaName, final String dataSourceName) {
+        return Joiner.on("/").join("", ROOT, DATA_NODES_NAME, schemaName, dataSourceName);
     }
     
     /**
@@ -86,21 +86,21 @@ public final class RegistryCenterNode {
      * @return governance schema
      */
     public Optional<GovernanceSchema> getGovernanceSchema(final String dataSourceNodeFullPath) {
-        Pattern pattern = Pattern.compile(getDataSourcesNodeFullRootPath() + "/" + "(\\w+)/(\\w+)$", Pattern.CASE_INSENSITIVE);
+        Pattern pattern = Pattern.compile(getDataNodesPath() + "/" + "(\\w+)/(\\w+)$", Pattern.CASE_INSENSITIVE);
         Matcher matcher = pattern.matcher(dataSourceNodeFullPath);
         return matcher.find() ? Optional.of(new GovernanceSchema(matcher.group(1), matcher.group(2))) : Optional.empty();
     }
     
     /**
-     * Get all data sources node schema path.
+     * Get all schema path.
      * 
      * @param schemaNames collection of schema name
      * @return collection of schema path
      */
-    public Collection<String> getAllDataSourcesSchemaPaths(final Collection<String> schemaNames) {
+    public Collection<String> getAllSchemaPaths(final Collection<String> schemaNames) {
         Collection<String> result = new ArrayList<>(schemaNames.size());
         for (String schemaName : schemaNames) {
-            result.add(getDataSourcesNodeSchemaPath(schemaName));
+            result.add(getSchemaPath(schemaName));
         }
         return result;
     }
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/DataSourceStateChangedListener.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/DataSourceStateChangedListener.java
index 1858edf..5bf3dbb 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/DataSourceStateChangedListener.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/DataSourceStateChangedListener.java
@@ -38,7 +38,7 @@ public final class DataSourceStateChangedListener extends PostGovernanceReposito
     private final RegistryCenterNode registryCenterNode;
     
     public DataSourceStateChangedListener(final RegistryRepository registryRepository, final Collection<String> schemaNames) {
-        super(registryRepository, new RegistryCenterNode().getAllDataSourcesSchemaPaths(schemaNames));
+        super(registryRepository, new RegistryCenterNode().getAllSchemaPaths(schemaNames));
         registryCenterNode = new RegistryCenterNode();
     }
     
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/InstanceStateChangedListener.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/InstanceStateChangedListener.java
index 5da89f0..38b2651 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/InstanceStateChangedListener.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/InstanceStateChangedListener.java
@@ -35,7 +35,7 @@ import java.util.Optional;
 public final class InstanceStateChangedListener extends PostGovernanceRepositoryEventListener {
     
     public InstanceStateChangedListener(final RegistryRepository registryRepository) {
-        super(registryRepository, Collections.singleton(new RegistryCenterNode().getInstancesNodeFullPath(GovernanceInstance.getInstance().getInstanceId())));
+        super(registryRepository, Collections.singleton(new RegistryCenterNode().getProxyNodePath(GovernanceInstance.getInstance().getInstanceId())));
     }
     
     @Override
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterNodeTest.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterNodeTest.java
index b4afd35..1beb864 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterNodeTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterNodeTest.java
@@ -31,35 +31,35 @@ public final class RegistryCenterNodeTest {
     private final RegistryCenterNode registryCenterNode = new RegistryCenterNode();
     
     @Test
-    public void assertGetInstancesNodeFullPath() {
-        assertThat(registryCenterNode.getInstancesNodeFullPath("testId"), is("/registry/instances/testId"));
+    public void assertGetProxyNodePath() {
+        assertThat(registryCenterNode.getProxyNodePath("testId"), is("/states/proxynodes/testId"));
     }
     
     @Test
-    public void assertGetDataSourcesNodeFullRootPath() {
-        assertThat(registryCenterNode.getDataSourcesNodeFullRootPath(), is("/registry/datasources"));
+    public void assertGetDataNodesPath() {
+        assertThat(registryCenterNode.getDataNodesPath(), is("/states/datanodes"));
     }
     
     @Test
     public void assertGetGovernanceSchema() {
-        assertThat(registryCenterNode.getGovernanceSchema("/registry/datasources/master_slave_db/slave_ds_0").get().getSchemaName(), is("master_slave_db"));
+        assertThat(registryCenterNode.getGovernanceSchema("/states/datanodes/master_slave_db/slave_ds_0").get().getSchemaName(), is("master_slave_db"));
     }
     
     @Test
-    public void assertGetDataSourcesNodeSchemaPath() {
-        assertThat(registryCenterNode.getDataSourcesNodeSchemaPath("master_slave_db"), is("/registry/datasources/master_slave_db"));
+    public void assertGetSchemaPath() {
+        assertThat(registryCenterNode.getSchemaPath("master_slave_db"), is("/states/datanodes/master_slave_db"));
     }
     
     @Test
-    public void assertGetDataSourcesNodeDataSourcePath() {
-        assertThat(registryCenterNode.getDataSourcesNodeDataSourcePath("master_slave_db", "slave_ds_0"), is("/registry/datasources/master_slave_db/slave_ds_0"));
+    public void assertGetDataSourcePath() {
+        assertThat(registryCenterNode.getDataSourcePath("master_slave_db", "slave_ds_0"), is("/states/datanodes/master_slave_db/slave_ds_0"));
     }
     
     @Test
-    public void assertGetAllDataSourcesSchemaPaths() {
-        Collection<String> schemaPaths = registryCenterNode.getAllDataSourcesSchemaPaths(Arrays.asList("master_slave_db", "sharding_db"));
+    public void assertGetAllSchemaPaths() {
+        Collection<String> schemaPaths = registryCenterNode.getAllSchemaPaths(Arrays.asList("master_slave_db", "sharding_db"));
         assertThat(schemaPaths.size(), is(2));
-        assertThat(schemaPaths, hasItem("/registry/datasources/master_slave_db"));
-        assertThat(schemaPaths, hasItem("/registry/datasources/sharding_db"));
+        assertThat(schemaPaths, hasItem("/states/datanodes/master_slave_db"));
+        assertThat(schemaPaths, hasItem("/states/datanodes/sharding_db"));
     }
 }
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterTest.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterTest.java
index d47c0b7..8b96cb9 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterTest.java
@@ -56,8 +56,8 @@ public final class RegistryCenterTest {
     
     @Test
     public void assertPersistDataSourcesNode() {
-        registryCenter.persistDataSourcesNode();
-        verify(registryRepository).persist("/registry/datasources", "");
+        registryCenter.persistDataNodes();
+        verify(registryRepository).persist("/states/datanodes", "");
     }
     
     @Test
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/DataSourceStateChangedListenerTest.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/DataSourceStateChangedListenerTest.java
index bf98746..8fca6fa 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/DataSourceStateChangedListenerTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/DataSourceStateChangedListenerTest.java
@@ -52,7 +52,7 @@ public final class DataSourceStateChangedListenerTest {
     @Test
     public void assertCreateGovernanceEvent() {
         Optional<GovernanceEvent> actual = dataSourceStateChangedListener.createGovernanceEvent(
-                new DataChangedEvent("/registry/datasources/master_slave_db/slave_ds_0", "disabled", ChangedType.UPDATED));
+                new DataChangedEvent("/states/datanodes/master_slave_db/slave_ds_0", "disabled", ChangedType.UPDATED));
         assertTrue(actual.isPresent());
         assertThat(((DisabledStateChangedEvent) actual.get()).getGovernanceSchema().getSchemaName(), is(new GovernanceSchema("master_slave_db", "slave_ds_0").getSchemaName()));
     }