diff --git a/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/common/dto/CenterConfigDTO.java b/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/common/dto/CenterConfigDTO.java
index d7f426f..5eebbb8 100644
--- a/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/common/dto/CenterConfigDTO.java
+++ b/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/common/dto/CenterConfigDTO.java
@@ -42,4 +42,10 @@
     private String digest;
     
     private String primaryName;
+    
+    private String additionalConfigCenterType;
+    
+    private String additionalConfigCenterServerList;
+    
+    private String additionalDigest;
 }
diff --git a/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/servcie/impl/CenterConfigServiceImpl.java b/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/servcie/impl/CenterConfigServiceImpl.java
index 9487eb2..3da4ee6 100644
--- a/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/servcie/impl/CenterConfigServiceImpl.java
+++ b/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/servcie/impl/CenterConfigServiceImpl.java
@@ -106,6 +106,9 @@
             toBeUpdatedConfig.setServerLists(config.getServerLists());
             toBeUpdatedConfig.setOrchestrationName(config.getOrchestrationName());
             toBeUpdatedConfig.setDigest(config.getDigest());
+            toBeUpdatedConfig.setAdditionalConfigCenterServerList(config.getAdditionalConfigCenterServerList());
+            toBeUpdatedConfig.setAdditionalConfigCenterType(config.getAdditionalConfigCenterType());
+            toBeUpdatedConfig.setAdditionalDigest(config.getAdditionalDigest());
             centerConfigsRepository.save(configs);
         }
     }
diff --git a/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/servcie/impl/OrchestrationServiceImpl.java b/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/servcie/impl/OrchestrationServiceImpl.java
index 1ca61fb..46f1713 100644
--- a/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/servcie/impl/OrchestrationServiceImpl.java
+++ b/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/servcie/impl/OrchestrationServiceImpl.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.ui.servcie.impl;
 
+import com.google.common.base.Joiner;
 import org.apache.shardingsphere.governance.core.registry.RegistryCenterNodeStatus;
 import org.apache.shardingsphere.infra.config.RuleConfiguration;
 import org.apache.shardingsphere.masterslave.api.config.MasterSlaveRuleConfiguration;
@@ -82,7 +83,7 @@
     @Override
     public void updateSlaveDataSourceStatus(final String schemaNames, final String slaveDataSourceName, final boolean enabled) {
         String value = enabled ? "" : RegistryCenterNodeStatus.DISABLED.toString();
-        registryCenterService.getActivatedRegistryCenter().persist(registryCenterService.getActivatedStateNode().getDataSourcesNodeFullPath(schemaNames + "." + slaveDataSourceName), value);
+        registryCenterService.getActivatedRegistryCenter().persist(registryCenterService.getActivatedStateNode().getDataSourcesNodeDataSourcePath(schemaNames, slaveDataSourceName), value);
     }
     
     private String getInstancesNodeFullRootPath() {
@@ -121,11 +122,14 @@
     
     private Collection<String> getDisabledSchemaDataSourceNames() {
         List<String> result = new ArrayList<>();
-        List<String> schemaDataSourceNames = registryCenterService.getActivatedRegistryCenter().getChildrenKeys(registryCenterService.getActivatedStateNode().getDataSourcesNodeFullRootPath());
-        for (String schemaDataSourceName : schemaDataSourceNames) {
-            String value = registryCenterService.getActivatedRegistryCenter().get(registryCenterService.getActivatedStateNode().getDataSourcesNodeFullPath(schemaDataSourceName));
-            if (RegistryCenterNodeStatus.DISABLED.toString().equalsIgnoreCase(value)) {
-                result.add(schemaDataSourceName);
+        List<String> schemaNames = registryCenterService.getActivatedRegistryCenter().getChildrenKeys(registryCenterService.getActivatedStateNode().getDataSourcesNodeFullRootPath());
+        for (String schemaName : schemaNames) {
+            List<String> dataSourceNames = registryCenterService.getActivatedRegistryCenter().getChildrenKeys(registryCenterService.getActivatedStateNode().getDataSourcesNodeSchemaPath(schemaName));
+            for (String dataSourceName : dataSourceNames) {
+                String value = registryCenterService.getActivatedRegistryCenter().get(registryCenterService.getActivatedStateNode().getDataSourcesNodeDataSourcePath(schemaName, dataSourceName));
+                if (RegistryCenterNodeStatus.DISABLED.toString().equalsIgnoreCase(value)) {
+                    result.add(Joiner.on(".").join(schemaName, dataSourceName));
+                }
             }
         }
         return result;
diff --git a/shardingsphere-ui-frontend/src/lang/en-US.js b/shardingsphere-ui-frontend/src/lang/en-US.js
index afff882..3798553 100644
--- a/shardingsphere-ui-frontend/src/lang/en-US.js
+++ b/shardingsphere-ui-frontend/src/lang/en-US.js
@@ -90,10 +90,10 @@
       editTitle: 'Edit registry center',
       name: 'Name',
       centerType: 'Type',
-      additionalCenterType: 'Additional type',
+      additionalCenterType: 'Additional Type',
       address: 'Address',
-      additionalAddress: 'Additional address',
-      orchestrationName: 'Orchestration Name',
+      additionalAddress: 'Additional Address',
+      orchestrationName: 'Governance Name',
       namespaces: 'Namespace',
       digest: 'Digest',
       btnConfirmTxt: 'Confirm',
@@ -111,7 +111,7 @@
       address: 'Please enter the registration center Address',
       namespaces: 'Please enter a Namespace',
       centerType: 'Please select a Center Type',
-      orchestrationName: 'Please enter a Orchestration Name',
+      orchestrationName: 'Please enter a Governance Name',
       digest: 'Please enter a digest'
     }
   },
@@ -123,7 +123,7 @@
       name: 'Name',
       centerType: 'Instance Type',
       address: 'Address',
-      orchestrationName: 'Orchestration Name',
+      orchestrationName: 'Governance Name',
       namespaces: 'Namespace',
       digest: 'Digest',
       btnConfirmTxt: 'Confirm',
@@ -141,7 +141,7 @@
       address: 'Please enter the config center Address',
       namespaces: 'Please enter a Namespace',
       centerType: 'Please select a Center Type',
-      orchestrationName: 'Please enter a Orchestration Name',
+      orchestrationName: 'Please enter a Governance Name',
       digest: 'Please enter a digest'
     }
   },
diff --git a/shardingsphere-ui-frontend/src/lang/zh-CN.js b/shardingsphere-ui-frontend/src/lang/zh-CN.js
index a10870e..3245206 100644
--- a/shardingsphere-ui-frontend/src/lang/zh-CN.js
+++ b/shardingsphere-ui-frontend/src/lang/zh-CN.js
@@ -93,7 +93,7 @@
       additionalCenterType: '扩展配置中心类型',
       additionalAddress: '扩展配置中心地址',
       address: '注册中心地址',
-      orchestrationName: '数据治理实例',
+      orchestrationName: '治理实例名称',
       namespaces: '命名空间',
       digest: '登录凭证',
       btnConfirmTxt: '确定',
diff --git a/shardingsphere-ui-frontend/src/views/data-scaling/module/index.vue b/shardingsphere-ui-frontend/src/views/data-scaling/module/index.vue
index 74076b5..a52482b 100644
--- a/shardingsphere-ui-frontend/src/views/data-scaling/module/index.vue
+++ b/shardingsphere-ui-frontend/src/views/data-scaling/module/index.vue
@@ -493,7 +493,7 @@
   computed: {
     textareaDatasourceCom() {
       const dsYamlType = new yaml.Type(
-        'tag:yaml.org,2002:org.apache.shardingsphere.orchestration.core.common.configuration.YamlDataSourceConfiguration',
+        'tag:yaml.org,2002:org.apache.shardingsphere.governance.core.common.yaml.config.YamlDataSourceConfiguration',
         {
           kind: 'mapping',
           construct(data) {
@@ -510,7 +510,7 @@
     },
     textareaRuleCom() {
       const dsYamlType = new yaml.Type(
-        'tag:yaml.org,2002:org.apache.shardingsphere.orchestration.core.common.configuration.YamlDataSourceConfiguration',
+        'tag:yaml.org,2002:org.apache.shardingsphere.governance.core.common.yaml.config.YamlDataSourceConfiguration',
         {
           kind: 'mapping',
           construct(data) {
diff --git a/shardingsphere-ui-frontend/src/views/registry-center/module/registryCenter.vue b/shardingsphere-ui-frontend/src/views/registry-center/module/registryCenter.vue
index 0314d95..ea57b36 100644
--- a/shardingsphere-ui-frontend/src/views/registry-center/module/registryCenter.vue
+++ b/shardingsphere-ui-frontend/src/views/registry-center/module/registryCenter.vue
@@ -98,6 +98,13 @@
         <el-form-item :label="$t('registryCenter.registDialog.name')" prop="name">
           <el-input :placeholder="$t('registryCenter.rules.name')" v-model="form.name" autocomplete="off" />
         </el-form-item>
+        <el-form-item :label="$t('registryCenter.registDialog.orchestrationName')" prop="orchestrationName">
+          <el-input
+            :placeholder="$t('registryCenter.rules.orchestrationName')"
+            v-model="form.orchestrationName"
+            autocomplete="off"
+          />
+        </el-form-item>
         <el-form-item :label="$t('registryCenter.registDialog.centerType')" prop="instanceType">
           <el-radio-group v-model="form.instanceType">
             <el-radio label="Zookeeper">Zookeeper</el-radio>
@@ -111,10 +118,10 @@
             autocomplete="off"
           />
         </el-form-item>
-        <el-form-item :label="$t('registryCenter.registDialog.orchestrationName')" prop="orchestrationName">
+        <el-form-item :label="$t('registryCenter.registDialog.digest')" id="add-digest" v-show="showAddDigest">
           <el-input
-            :placeholder="$t('registryCenter.rules.orchestrationName')"
-            v-model="form.orchestrationName"
+            :placeholder="$t('registryCenter.rules.digest')"
+            v-model="form.digest"
             autocomplete="off"
           />
         </el-form-item>
@@ -131,7 +138,7 @@
             autocomplete="off"
           />
         </el-form-item>
-        <el-form-item :label="$t('registryCenter.registDialog.digest')">
+        <el-form-item :label="$t('registryCenter.registDialog.digest')" id="add-digest-additional" v-show="showAddDigestAdditional">
           <el-input
             :placeholder="$t('registryCenter.rules.digest')"
             v-model="form.additionalDigest"
@@ -156,6 +163,13 @@
         <el-form-item :label="$t('registryCenter.registDialog.name')" prop="name">
           <el-input :placeholder="$t('registryCenter.rules.name')" v-model="editForm.name" autocomplete="off" />
         </el-form-item>
+        <el-form-item :label="$t('registryCenter.registDialog.orchestrationName')" prop="orchestrationName">
+          <el-input
+            :placeholder="$t('registryCenter.rules.orchestrationName')"
+            v-model="editForm.orchestrationName"
+            autocomplete="off"
+          />
+        </el-form-item>
         <el-form-item :label="$t('registryCenter.registDialog.centerType')" prop="instanceType">
           <el-radio-group v-model="editForm.instanceType">
             <el-radio label="Zookeeper">Zookeeper</el-radio>
@@ -169,14 +183,7 @@
             autocomplete="off"
           />
         </el-form-item>
-        <el-form-item :label="$t('registryCenter.registDialog.orchestrationName')" prop="orchestrationName">
-          <el-input
-            :placeholder="$t('registryCenter.rules.orchestrationName')"
-            v-model="editForm.orchestrationName"
-            autocomplete="off"
-          />
-        </el-form-item>
-        <el-form-item :label="$t('registryCenter.registDialog.digest')">
+        <el-form-item :label="$t('registryCenter.registDialog.digest')" v-show="showEditDigest">
           <el-input
             :placeholder="$t('registryCenter.rules.digest')"
             v-model="editForm.digest"
@@ -196,7 +203,7 @@
             autocomplete="off"
           />
         </el-form-item>
-        <el-form-item :label="$t('registryCenter.registDialog.digest')">
+        <el-form-item :label="$t('registryCenter.registDialog.digest')" v-show="showEditDigestAdditional">
           <el-input
             :placeholder="$t('registryCenter.rules.digest')"
             v-model="editForm.additionalDigest"
@@ -224,6 +231,10 @@
     return {
       regustDialogVisible: false,
       editDialogVisible: false,
+      showAddDigest:true,
+      showAddDigestAdditional:true,
+      showEditDigest:true,
+      showEditDigestAdditional:true,
       column: [
         {
           label: this.$t('registryCenter').registDialog.name,
@@ -418,6 +429,38 @@
     },
     cancelEdit() {
       this.editDialogVisible = false
+    },
+    centerTypeChanged(value) {
+      if (value === 'Zookeeper') {
+        this.showAddDigest = true
+      } else {
+        this.showAddDigest = false
+        this.form.digest = '';
+      }
+    },
+    additionalCenterTypeChanged(value) {
+      if (value === 'Zookeeper') {
+        this.showAddDigestAdditional = true
+      } else {
+        this.showAddDigestAdditional = false
+        this.form.additionalDigest = '';
+      }
+    },
+    editCenterTypeChanged(value) {
+      if (value === 'Zookeeper') {
+        this.showEditDigest = true
+      } else {
+        this.showEditDigest = false
+        this.editForm.digest = '';
+      }
+    },
+    editAdditionalCenterTypeChanged(value) {
+      if (value === 'Zookeeper') {
+        this.showEditDigestAdditional = true
+      } else {
+        this.showEditDigestAdditional = false
+        this.editForm.additionalDigest = '';
+      }
     }
   }
 }
diff --git a/shardingsphere-ui-frontend/src/views/rule-config/module/schema.vue b/shardingsphere-ui-frontend/src/views/rule-config/module/schema.vue
index e37f804..b17bd54 100644
--- a/shardingsphere-ui-frontend/src/views/rule-config/module/schema.vue
+++ b/shardingsphere-ui-frontend/src/views/rule-config/module/schema.vue
@@ -214,7 +214,7 @@
   computed: {
     textarea2() {
       const dsYamlType = new yaml.Type(
-        'tag:yaml.org,2002:org.apache.shardingsphere.orchestration.core.common.yaml.config.YamlDataSourceConfiguration',
+        'tag:yaml.org,2002:org.apache.shardingsphere.governance.core.common.yaml.config.YamlDataSourceConfiguration',
         {
           kind: 'mapping',
           construct(data) {
