You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by zh...@apache.org on 2020/06/06 06:23:24 UTC

[skywalking] branch master updated: Remove nacos (#4867)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new f3d907b  Remove nacos (#4867)
f3d907b is described below

commit f3d907bf6df924e7cc7e65efbdfd847920ce47e5
Author: songzhendong <xi...@qq.com>
AuthorDate: Sat Jun 6 14:23:12 2020 +0800

    Remove nacos (#4867)
    
    * Add annotation(AlarmCore.start)
    
    * Upgrade nacos version to 1.2.0
    
    * Revert "Upgrade nacos version to 1.2.0"
    
    This reverts commit 4d7b06f6d20ee09ad377ad6ef736aeab429314e0.
    
    * Update nacos version to 1.2.0(Solve the security problem of the old version of fastsjon)
    
    * Recovery annotation
    
    * Recovery annotation
    
    * Update nacos version to 1.2.0
    
    * Update tls_key_generate.sh path
    
    Update tls_key_generate.sh path
    
    * Add annotation(AlarmCore.start)
    
    * Revert "Upgrade nacos version to 1.2.0"
    
    This reverts commit 4d7b06f6d20ee09ad377ad6ef736aeab429314e0.
    
    * Update nacos version to 1.2.0(Solve the security problem of the old version of fastsjon)
    
    * Recovery annotation
    
    * Recovery annotation
    
    * Update tls_key_generate.sh path
    
    * Execution Authority
    
    * Remove nacos
    
    * remove nacos code
    
    * remove nacos
    
    remove nacos
    
    * remove nacos
    
    remove nacos
    
    * remove nacos
    
    * remove nacos
    
    Co-authored-by: songzhendong <28...@qq.com>
    Co-authored-by: songzhendong <so...@xiaomi.com>
    Co-authored-by: 吴晟 Wu Sheng <wu...@foxmail.com>
---
 dist-material/release-docs/LICENSE                 |   2 -
 dist-material/release-docs/NOTICE                  |  38 ----
 docs/en/setup/backend/backend-cluster.md           |  10 -
 docs/en/setup/backend/dynamic-config.md            |  25 ---
 oap-server/pom.xml                                 |   6 -
 oap-server/server-bootstrap/pom.xml                |  10 -
 .../src/main/resources/application.yml             |  18 --
 .../cluster-nacos-plugin/pom.xml                   | 162 ----------------
 .../plugin/nacos/ClusterModuleNacosConfig.java     |  35 ----
 .../plugin/nacos/ClusterModuleNacosProvider.java   |  89 ---------
 .../cluster/plugin/nacos/NacosCoordinator.java     |  78 --------
 ...alking.oap.server.library.module.ModuleProvider |  19 --
 .../nacos/ClusterModuleNacosProviderTest.java      | 109 -----------
 ...ITClusterModuleNacosProviderFunctionalTest.java | 194 -------------------
 .../cluster/plugin/nacos/NacosCoordinatorTest.java | 130 -------------
 oap-server/server-cluster-plugin/pom.xml           |   1 -
 .../configuration-nacos/pom.xml                    | 145 --------------
 .../nacos/NacosConfigWatcherRegister.java          | 134 -------------
 .../nacos/NacosConfigurationProvider.java          |  71 -------
 .../configuration/nacos/NacosServerSettings.java   |  36 ----
 ...alking.oap.server.library.module.ModuleProvider |  19 --
 .../nacos/ITNacosConfigurationTest.java            | 116 -----------
 .../nacos/NacosConfigWatcherRegisterTest.java      |  65 -------
 .../nacos/NacosConfigurationTestModule.java        |  34 ----
 .../nacos/NacosConfigurationTestProvider.java      |  94 ---------
 ...ywalking.oap.server.library.module.ModuleDefine |  20 --
 ...alking.oap.server.library.module.ModuleProvider |  19 --
 .../src/test/resources/application.yml             |  35 ----
 .../docker-entrypoint-initdb.d/nacos-mysql.sql     | 215 ---------------------
 oap-server/server-configuration/pom.xml            |   1 -
 .../known-oap-backend-dependencies-es7.txt         |   4 -
 .../known-oap-backend-dependencies.txt             |   4 -
 32 files changed, 1938 deletions(-)

diff --git a/dist-material/release-docs/LICENSE b/dist-material/release-docs/LICENSE
index 94e117c..60a18f8 100755
--- a/dist-material/release-docs/LICENSE
+++ b/dist-material/release-docs/LICENSE
@@ -216,7 +216,6 @@ The following components are provided under the Apache License. See project link
 The text of each license is also included at licenses/LICENSE-[project].txt.
 
     Apache: httpcomponents 4.x.x: http://hc.apache.org/index.html, Apache 2.0
-    Apache: fastjson 1.2.58:  https://github.com/alibaba/fastjson, Apache 2.0
     Apache: netty-tcnative-boringssl-static 2.0.26:  https://github.com/netty/netty-tcnative, Apache 2.0
 
 ========================================================================
@@ -310,7 +309,6 @@ The text of each license is the standard Apache 2.0 license.
     consul-client 1.2.6: https://github.com/rickfast/consul-client, Apache 2.0
     okhttp 3.9.0: https://github.com/square/okhttp, Apache 2.0
     prometheus client_java 0.6.0: https://github.com/prometheus/client_java, Apache 2.0
-    nacos 1.2.0: https://github.com/alibaba/nacos, Apache 2.0
     proto files from istio/istio: https://github.com/istio/istio  Apache 2.0
     proto files from istio/api: https://github.com/istio/api      Apache 2.0
     proto files from envoyproxy/data-plane-api: https://github.com/envoyproxy/data-plane-api  Apache 2.0
diff --git a/dist-material/release-docs/NOTICE b/dist-material/release-docs/NOTICE
index 8fc161e..f762cd1 100755
--- a/dist-material/release-docs/NOTICE
+++ b/dist-material/release-docs/NOTICE
@@ -840,44 +840,6 @@ above as far as the program is concerned.
 ------
 
 ===========================================================================
-nacos-1.2.0 Notice
-===========================================================================
-Nacos
-Copyright 2018-2019 The Apache Software Foundation
-
-This product includes software developed at
-The Alibaba MiddleWare Group.
-
-------
-This product has a bundle Spring Boot:
-                            The Spring Boot Project
-                            =================
-
-Please visit the Spring Boot web site for more information:
-
-  * https://spring.io/projects/spring-boot
-
-Copyright 2014 The Spring Boot Project
-
-The Spring Boot Project licenses this file to you under the Apache License,
-version 2.0 (the "License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at:
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-License for the specific language governing permissions and limitations
-under the License.
-
-Also, please refer to each LICENSE.<component>.txt file, which is located in
-the 'license' directory of the distribution file, for the license terms of the
-components that this product depends on.
-
-------
-
-===========================================================================
 Perfmark Notice
 ===========================================================================
 Copyright 2019 Google LLC
diff --git a/docs/en/setup/backend/backend-cluster.md b/docs/en/setup/backend/backend-cluster.md
index 8c21250..d0ddf67 100644
--- a/docs/en/setup/backend/backend-cluster.md
+++ b/docs/en/setup/backend/backend-cluster.md
@@ -9,7 +9,6 @@ with each other.
 - [Kubernetes](#kubernetes). When backend cluster are deployed inside kubernetes, you could choose this
 by using k8s native APIs to manage cluster.
 - [Consul](#consul). Use Consul as backend cluster management implementor, to coordinate backend instances.
-- [Nacos](#nacos). Use Nacos to coordinate backend instances.
 - [Etcd](#etcd). Use Etcd to coordinate backend instances.
 
 In the `application.yml`, there're default configurations for the aforementioned coordinators under the section `cluster`,
@@ -84,15 +83,6 @@ The following setting are provided to set the host and port manually, based on y
 - internalComPort, the port registered and other oap node use this to communicate with current node.
 
 
-## Nacos
-Set the **cluster/selector** to **nacos** in the yml to enable.
-
-```yaml
-cluster:
-  selector: ${SW_CLUSTER:nacos}
-  # other configurations
-```
-
 ## Etcd
 Set the **cluster/selector** to **etcd** in the yml to enable.
 
diff --git a/docs/en/setup/backend/dynamic-config.md b/docs/en/setup/backend/dynamic-config.md
index 8f44193..923eb1e 100755
--- a/docs/en/setup/backend/dynamic-config.md
+++ b/docs/en/setup/backend/dynamic-config.md
@@ -102,28 +102,3 @@ configuration:
     appId: ${SW_CONFIG_APOLLO_APP_ID:skywalking}
     period: ${SW_CONFIG_APOLLO_PERIOD:5}
 ```
-
-## Dynamic Configuration Nacos Implementation
-
-[Nacos](https://github.com/alibaba/nacos) is also supported as DCC(Dynamic Configuration Center), to use it, please configure as follows:
-
-```yaml
-configuration:
-  selector: ${SW_CONFIGURATION:nacos}
-  nacos:
-    # Nacos Server Host
-    serverAddr: ${SW_CONFIG_NACOS_SERVER_ADDR:127.0.0.1}
-    # Nacos Server Port
-    port: ${SW_CONFIG_NACOS_SERVER_PORT:8848}
-    # Nacos Configuration Group
-    group: ${SW_CONFIG_NACOS_SERVER_GROUP:skywalking}
-    # Nacos Configuration namespace
-    namespace: ${SW_CONFIG_NACOS_SERVER_NAMESPACE:}
-    # Unit seconds, sync period. Default fetch every 60 seconds.
-    period: ${SW_CONFIG_NACOS_PERIOD:60}
-    # the name of current cluster, set the name if you want to upstream system known.
-    clusterName: ${SW_CONFIG_NACOS_CLUSTER_NAME:default}
-```
-
-
-
diff --git a/oap-server/pom.xml b/oap-server/pom.xml
index 2261e30..21bca9b 100755
--- a/oap-server/pom.xml
+++ b/oap-server/pom.xml
@@ -78,7 +78,6 @@
         <simpleclient.version>0.6.0</simpleclient.version>
         <apollo.version>1.4.0</apollo.version>
         <maven-docker-plugin.version>0.30.0</maven-docker-plugin.version>
-        <nacos.version>1.2.0</nacos.version>
         <curator.version>4.0.1</curator.version>
         <curator-test.version>2.12.0</curator-test.version>
         <etcd4j.version>2.17.0</etcd4j.version>
@@ -383,11 +382,6 @@
                 <artifactId>apollo-client</artifactId>
                 <version>${apollo.version}</version>
             </dependency>
-            <dependency>
-                <groupId>com.alibaba.nacos</groupId>
-                <artifactId>nacos-client</artifactId>
-                <version>${nacos.version}</version>
-            </dependency>
 
             <dependency>
                 <groupId>org.mousio</groupId>
diff --git a/oap-server/server-bootstrap/pom.xml b/oap-server/server-bootstrap/pom.xml
index c0d1f09..347f5ba 100644
--- a/oap-server/server-bootstrap/pom.xml
+++ b/oap-server/server-bootstrap/pom.xml
@@ -66,11 +66,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.skywalking</groupId>
-            <artifactId>cluster-nacos-plugin</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.skywalking</groupId>
             <artifactId>cluster-etcd-plugin</artifactId>
             <version>${project.version}</version>
         </dependency>
@@ -193,11 +188,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.skywalking</groupId>
-            <artifactId>configuration-nacos</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.skywalking</groupId>
             <artifactId>configuration-zookeeper</artifactId>
             <version>${project.version}</version>
         </dependency>
diff --git a/oap-server/server-bootstrap/src/main/resources/application.yml b/oap-server/server-bootstrap/src/main/resources/application.yml
index 3f3177e..8624586 100755
--- a/oap-server/server-bootstrap/src/main/resources/application.yml
+++ b/oap-server/server-bootstrap/src/main/resources/application.yml
@@ -38,11 +38,6 @@ cluster:
     # Consul cluster nodes, example: 10.0.0.1:8500,10.0.0.2:8500,10.0.0.3:8500
     hostPort: ${SW_CLUSTER_CONSUL_HOST_PORT:localhost:8500}
     aclToken: ${SW_CLUSTER_CONSUL_ACLTOKEN:""}
-  nacos:
-    serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
-    hostPort: ${SW_CLUSTER_NACOS_HOST_PORT:localhost:8848}
-    # Nacos Configuration namespace
-    namespace: ${SW_CLUSTER_NACOS_NAMESPACE:"public"}
   etcd:
     serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
     # etcd cluster nodes, example: 10.0.0.1:2379,10.0.0.2:2379,10.0.0.3:2379
@@ -253,19 +248,6 @@ configuration:
     apolloEnv: ${SW_CONFIG_APOLLO_ENV:""}
     appId: ${SW_CONFIG_APOLLO_APP_ID:skywalking}
     period: ${SW_CONFIG_APOLLO_PERIOD:5}
-  nacos:
-    # Nacos Server Host
-    serverAddr: ${SW_CONFIG_NACOS_SERVER_ADDR:127.0.0.1}
-    # Nacos Server Port
-    port: ${SW_CONFIG_NACOS_SERVER_PORT:8848}
-    # Nacos Configuration Group
-    group: ${SW_CONFIG_NACOS_SERVER_GROUP:skywalking}
-    # Nacos Configuration namespace
-    namespace: ${SW_CONFIG_NACOS_SERVER_NAMESPACE:}
-    # Unit seconds, sync period. Default fetch every 60 seconds.
-    period: ${SW_CONFIG_NACOS_PERIOD:60}
-    # the name of current cluster, set the name if you want to upstream system known.
-    clusterName: ${SW_CONFIG_NACOS_CLUSTER_NAME:default}
   zookeeper:
     period: ${SW_CONFIG_ZK_PERIOD:60} # Unit seconds, sync period. Default fetch every 60 seconds.
     nameSpace: ${SW_CONFIG_ZK_NAMESPACE:/default}
diff --git a/oap-server/server-cluster-plugin/cluster-nacos-plugin/pom.xml b/oap-server/server-cluster-plugin/cluster-nacos-plugin/pom.xml
deleted file mode 100644
index 826b06b..0000000
--- a/oap-server/server-cluster-plugin/cluster-nacos-plugin/pom.xml
+++ /dev/null
@@ -1,162 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>server-cluster-plugin</artifactId>
-        <groupId>org.apache.skywalking</groupId>
-        <version>8.0.0-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>cluster-nacos-plugin</artifactId>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.skywalking</groupId>
-            <artifactId>server-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba.nacos</groupId>
-            <artifactId>nacos-client</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.logging.log4j</groupId>
-                    <artifactId>log4j-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.logging.log4j</groupId>
-                    <artifactId>log4j-slf4j-impl</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>ch.qos.logback</groupId>
-                    <artifactId>logback-classic</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>ch.qos.logback</groupId>
-                    <artifactId>logback-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>net.jcip</groupId>
-                    <artifactId>jcip-annotations</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-    </dependencies>
-
-    <profiles>
-        <profile>
-            <id>CI-with-IT</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>io.fabric8</groupId>
-                        <artifactId>docker-maven-plugin</artifactId>
-                        <configuration>
-                            <sourceMode>all</sourceMode>
-                            <showLogs>true</showLogs>
-                            <logDate>default</logDate>
-                            <verbose>true</verbose>
-                            <imagePullPolicy>IfNotPresent</imagePullPolicy>
-                            <images>
-                                <image>
-                                    <name>nacos/nacos-server:${nacos.version}</name>
-                                    <alias>cluster-nacos-plugin-integration-test-nacos</alias>
-                                    <run>
-                                        <env>
-                                            <MODE>standalone</MODE>
-                                        </env>
-                                        <ports>
-                                            <port>nacos.port:8848</port>
-                                        </ports>
-                                        <wait>
-                                            <log>Nacos started successfully</log>
-                                            <time>120000</time>
-                                        </wait>
-                                    </run>
-                                </image>
-                            </images>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <id>start</id>
-                                <phase>pre-integration-test</phase>
-                                <goals>
-                                    <goal>start</goal>
-                                </goals>
-                            </execution>
-                            <execution>
-                                <id>stop</id>
-                                <phase>post-integration-test</phase>
-                                <goals>
-                                    <goal>stop</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.codehaus.gmaven</groupId>
-                        <artifactId>gmaven-plugin</artifactId>
-                        <version>${gmaven-plugin.version}</version>
-                        <executions>
-                            <execution>
-                                <id>add-default-properties</id>
-                                <phase>initialize</phase>
-                                <goals>
-                                    <goal>execute</goal>
-                                </goals>
-                                <configuration>
-                                    <providerSelection>2.0</providerSelection>
-                                    <source>
-                                        project.properties.setProperty('docker.hostname', 'localhost')
-
-                                        log.info("Docker hostname is " + project.properties['docker.hostname'])
-                                    </source>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-failsafe-plugin</artifactId>
-                        <configuration>
-                            <systemPropertyVariables>
-                                <nacos.address>
-                                    ${docker.hostname}:${nacos.port}
-                                </nacos.address>
-                            </systemPropertyVariables>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>integration-test</goal>
-                                    <goal>verify</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-</project>
diff --git a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosConfig.java b/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosConfig.java
deleted file mode 100644
index bbfe071..0000000
--- a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosConfig.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.cluster.plugin.nacos;
-
-import lombok.Getter;
-import lombok.Setter;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
-
-public class ClusterModuleNacosConfig extends ModuleConfig {
-    @Setter
-    @Getter
-    private String serviceName;
-    @Setter
-    @Getter
-    private String hostPort;
-    @Setter
-    @Getter
-    private String namespace = "public";
-}
diff --git a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosProvider.java b/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosProvider.java
deleted file mode 100644
index c73bea1..0000000
--- a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosProvider.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.cluster.plugin.nacos;
-
-import com.alibaba.nacos.api.PropertyKeyConst;
-import com.alibaba.nacos.api.naming.NamingFactory;
-import com.alibaba.nacos.api.naming.NamingService;
-import java.util.Properties;
-import org.apache.skywalking.oap.server.core.CoreModule;
-import org.apache.skywalking.oap.server.core.cluster.ClusterModule;
-import org.apache.skywalking.oap.server.core.cluster.ClusterNodesQuery;
-import org.apache.skywalking.oap.server.core.cluster.ClusterRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
-import org.apache.skywalking.oap.server.library.module.ModuleDefine;
-import org.apache.skywalking.oap.server.library.module.ModuleProvider;
-import org.apache.skywalking.oap.server.library.module.ModuleStartException;
-import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
-
-public class ClusterModuleNacosProvider extends ModuleProvider {
-
-    private final ClusterModuleNacosConfig config;
-    private NamingService namingService;
-
-    public ClusterModuleNacosProvider() {
-        super();
-        this.config = new ClusterModuleNacosConfig();
-    }
-
-    @Override
-    public String name() {
-        return "nacos";
-    }
-
-    @Override
-    public Class<? extends ModuleDefine> module() {
-        return ClusterModule.class;
-    }
-
-    @Override
-    public ModuleConfig createConfigBeanIfAbsent() {
-        return config;
-    }
-
-    @Override
-    public void prepare() throws ServiceNotProvidedException, ModuleStartException {
-        try {
-            Properties properties = new Properties();
-            properties.put(PropertyKeyConst.SERVER_ADDR, config.getHostPort());
-            properties.put(PropertyKeyConst.NAMESPACE, config.getNamespace());
-            namingService = NamingFactory.createNamingService(properties);
-        } catch (Exception e) {
-            throw new ModuleStartException(e.getMessage(), e);
-        }
-        NacosCoordinator coordinator = new NacosCoordinator(namingService, config);
-        this.registerServiceImplementation(ClusterRegister.class, coordinator);
-        this.registerServiceImplementation(ClusterNodesQuery.class, coordinator);
-    }
-
-    @Override
-    public void start() throws ServiceNotProvidedException {
-
-    }
-
-    @Override
-    public void notifyAfterCompleted() throws ServiceNotProvidedException {
-
-    }
-
-    @Override
-    public String[] requiredModules() {
-        return new String[] {CoreModule.NAME};
-    }
-}
diff --git a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/NacosCoordinator.java b/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/NacosCoordinator.java
deleted file mode 100644
index 4253d8f..0000000
--- a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/NacosCoordinator.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.cluster.plugin.nacos;
-
-import com.alibaba.nacos.api.exception.NacosException;
-import com.alibaba.nacos.api.naming.NamingService;
-import com.alibaba.nacos.api.naming.pojo.Instance;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.skywalking.oap.server.core.cluster.ClusterNodesQuery;
-import org.apache.skywalking.oap.server.core.cluster.ClusterRegister;
-import org.apache.skywalking.oap.server.core.cluster.RemoteInstance;
-import org.apache.skywalking.oap.server.core.cluster.ServiceQueryException;
-import org.apache.skywalking.oap.server.core.cluster.ServiceRegisterException;
-import org.apache.skywalking.oap.server.core.remote.client.Address;
-import org.apache.skywalking.oap.server.library.util.CollectionUtils;
-import org.apache.skywalking.oap.server.telemetry.api.TelemetryRelatedContext;
-
-public class NacosCoordinator implements ClusterRegister, ClusterNodesQuery {
-
-    private final NamingService namingService;
-    private final ClusterModuleNacosConfig config;
-    private volatile Address selfAddress;
-
-    public NacosCoordinator(NamingService namingService, ClusterModuleNacosConfig config) {
-        this.namingService = namingService;
-        this.config = config;
-    }
-
-    @Override
-    public List<RemoteInstance> queryRemoteNodes() {
-        List<RemoteInstance> result = new ArrayList<>();
-        try {
-            List<Instance> instances = namingService.selectInstances(config.getServiceName(), true);
-            if (CollectionUtils.isNotEmpty(instances)) {
-                instances.forEach(instance -> {
-                    Address address = new Address(instance.getIp(), instance.getPort(), false);
-                    if (address.equals(selfAddress)) {
-                        address.setSelf(true);
-                    }
-                    result.add(new RemoteInstance(address));
-                });
-            }
-        } catch (NacosException e) {
-            throw new ServiceQueryException(e.getErrMsg());
-        }
-        return result;
-    }
-
-    @Override
-    public void registerRemote(RemoteInstance remoteInstance) throws ServiceRegisterException {
-        String host = remoteInstance.getAddress().getHost();
-        int port = remoteInstance.getAddress().getPort();
-        try {
-            namingService.registerInstance(config.getServiceName(), host, port);
-        } catch (Exception e) {
-            throw new ServiceRegisterException(e.getMessage());
-        }
-        this.selfAddress = remoteInstance.getAddress();
-        TelemetryRelatedContext.INSTANCE.setId(selfAddress.toString());
-    }
-}
diff --git a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/main/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleProvider b/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/main/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleProvider
deleted file mode 100644
index 1a1c0e8..0000000
--- a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/main/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleProvider
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-#
-
-org.apache.skywalking.oap.server.cluster.plugin.nacos.ClusterModuleNacosProvider
\ No newline at end of file
diff --git a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosProviderTest.java b/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosProviderTest.java
deleted file mode 100644
index f489f93..0000000
--- a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosProviderTest.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.cluster.plugin.nacos;
-
-import com.alibaba.nacos.api.PropertyKeyConst;
-import com.alibaba.nacos.api.naming.NamingFactory;
-import com.alibaba.nacos.api.naming.NamingService;
-import java.util.Properties;
-import org.apache.skywalking.oap.server.core.CoreModule;
-import org.apache.skywalking.oap.server.core.cluster.ClusterModule;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
-import org.apache.skywalking.oap.server.library.module.ModuleStartException;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
-import org.powermock.reflect.Whitebox;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-
-@RunWith(PowerMockRunner.class)
-@PrepareForTest(NamingFactory.class)
-@PowerMockIgnore("javax.management.*")
-public class ClusterModuleNacosProviderTest {
-
-    private static final String SERVICE_NAME = "test-service_name";
-
-    private ClusterModuleNacosProvider provider = new ClusterModuleNacosProvider();
-
-    @Test
-    public void name() {
-        assertEquals("nacos", provider.name());
-    }
-
-    @Test
-    public void module() {
-        assertEquals(ClusterModule.class, provider.module());
-    }
-
-    @Test
-    public void createConfigBeanIfAbsent() {
-        ModuleConfig moduleConfig = provider.createConfigBeanIfAbsent();
-        assertTrue(moduleConfig instanceof ClusterModuleNacosConfig);
-    }
-
-    @Test(expected = ModuleStartException.class)
-    public void prepareWithNonHost() throws Exception {
-        provider.prepare();
-    }
-
-    @Test
-    public void prepare() throws Exception {
-        PowerMockito.mockStatic(NamingFactory.class);
-        ClusterModuleNacosConfig nacosConfig = new ClusterModuleNacosConfig();
-        nacosConfig.setHostPort("10.0.0.1:1000,10.0.0.2:1001");
-        nacosConfig.setServiceName(SERVICE_NAME);
-        Whitebox.setInternalState(provider, "config", nacosConfig);
-        NamingService namingService = mock(NamingService.class);
-
-        Properties properties = new Properties();
-        properties.put(PropertyKeyConst.SERVER_ADDR, "10.0.0.1:1000,10.0.0.2:1001");
-
-        PowerMockito.when(NamingFactory.createNamingService(properties)).thenReturn(namingService);
-        provider.prepare();
-        ArgumentCaptor<Properties> addressCaptor = ArgumentCaptor.forClass(Properties.class);
-        PowerMockito.verifyStatic();
-        NamingFactory.createNamingService(addressCaptor.capture());
-        Properties data = addressCaptor.getValue();
-        assertEquals("10.0.0.1:1000,10.0.0.2:1001", data.getProperty(PropertyKeyConst.SERVER_ADDR));
-    }
-
-    @Test
-    public void start() {
-        provider.start();
-    }
-
-    @Test
-    public void notifyAfterCompleted() {
-        provider.notifyAfterCompleted();
-    }
-
-    @Test
-    public void requiredModules() {
-        String[] modules = provider.requiredModules();
-        assertArrayEquals(new String[] {CoreModule.NAME}, modules);
-    }
-}
diff --git a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ITClusterModuleNacosProviderFunctionalTest.java b/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ITClusterModuleNacosProviderFunctionalTest.java
deleted file mode 100644
index 724f221..0000000
--- a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ITClusterModuleNacosProviderFunctionalTest.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.cluster.plugin.nacos;
-
-import com.alibaba.nacos.api.naming.NamingService;
-import java.util.Collections;
-import java.util.List;
-import org.apache.skywalking.apm.util.StringUtil;
-import org.apache.skywalking.oap.server.core.cluster.ClusterNodesQuery;
-import org.apache.skywalking.oap.server.core.cluster.ClusterRegister;
-import org.apache.skywalking.oap.server.core.cluster.RemoteInstance;
-import org.apache.skywalking.oap.server.core.remote.client.Address;
-import org.apache.skywalking.oap.server.library.module.ModuleProvider;
-import org.apache.skywalking.oap.server.library.module.ModuleStartException;
-import org.junit.Before;
-import org.junit.Test;
-import org.powermock.reflect.Whitebox;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-public class ITClusterModuleNacosProviderFunctionalTest {
-
-    private String nacosAddress;
-
-    @Before
-    public void before() {
-        nacosAddress = System.getProperty("nacos.address");
-        assertFalse(StringUtil.isEmpty(nacosAddress));
-    }
-
-    @Test
-    public void registerRemote() throws Exception {
-        final String serviceName = "register_remote";
-        ModuleProvider provider = createProvider(serviceName);
-
-        Address selfAddress = new Address("127.0.0.1", 1000, true);
-        RemoteInstance instance = new RemoteInstance(selfAddress);
-        getClusterRegister(provider).registerRemote(instance);
-
-        List<RemoteInstance> remoteInstances = queryRemoteNodes(provider, 1);
-        assertEquals(1, remoteInstances.size());
-        Address queryAddress = remoteInstances.get(0).getAddress();
-        assertEquals(selfAddress, queryAddress);
-        assertTrue(queryAddress.isSelf());
-    }
-
-    @Test
-    public void registerRemoteOfReceiver() throws Exception {
-        final String serviceName = "register_remote_receiver";
-        ModuleProvider providerA = createProvider(serviceName);
-        ModuleProvider providerB = createProvider(serviceName);
-
-        // Mixed or Aggregator
-        Address selfAddress = new Address("127.0.0.3", 1000, true);
-        RemoteInstance instance = new RemoteInstance(selfAddress);
-        getClusterRegister(providerA).registerRemote(instance);
-
-        // Receiver
-        List<RemoteInstance> remoteInstances = queryRemoteNodes(providerB, 1);
-        assertEquals(1, remoteInstances.size());
-        Address queryAddress = remoteInstances.get(0).getAddress();
-        assertEquals(selfAddress, queryAddress);
-        assertFalse(queryAddress.isSelf());
-    }
-
-    @Test
-    public void registerRemoteOfCluster() throws Exception {
-        final String serviceName = "register_remote_cluster";
-        ModuleProvider providerA = createProvider(serviceName);
-        ModuleProvider providerB = createProvider(serviceName);
-
-        Address addressA = new Address("127.0.0.4", 1000, true);
-        Address addressB = new Address("127.0.0.5", 1000, true);
-
-        RemoteInstance instanceA = new RemoteInstance(addressA);
-        RemoteInstance instanceB = new RemoteInstance(addressB);
-
-        getClusterRegister(providerA).registerRemote(instanceA);
-        getClusterRegister(providerB).registerRemote(instanceB);
-
-        List<RemoteInstance> remoteInstancesOfA = queryRemoteNodes(providerA, 2);
-        validateServiceInstance(addressA, addressB, remoteInstancesOfA);
-
-        List<RemoteInstance> remoteInstancesOfB = queryRemoteNodes(providerB, 2);
-        validateServiceInstance(addressB, addressA, remoteInstancesOfB);
-    }
-
-    @Test
-    public void deregisterRemoteOfCluster() throws Exception {
-        final String serviceName = "deregister_remote_cluster";
-        ModuleProvider providerA = createProvider(serviceName);
-        ModuleProvider providerB = createProvider(serviceName);
-
-        Address addressA = new Address("127.0.0.6", 1000, true);
-        Address addressB = new Address("127.0.0.7", 1000, true);
-
-        RemoteInstance instanceA = new RemoteInstance(addressA);
-        RemoteInstance instanceB = new RemoteInstance(addressB);
-
-        getClusterRegister(providerA).registerRemote(instanceA);
-        getClusterRegister(providerB).registerRemote(instanceB);
-
-        List<RemoteInstance> remoteInstancesOfA = queryRemoteNodes(providerA, 2);
-        validateServiceInstance(addressA, addressB, remoteInstancesOfA);
-
-        List<RemoteInstance> remoteInstancesOfB = queryRemoteNodes(providerB, 2);
-        validateServiceInstance(addressB, addressA, remoteInstancesOfB);
-
-        // deregister A
-        ClusterRegister register = getClusterRegister(providerA);
-        NamingService namingServiceA = Whitebox.getInternalState(register, "namingService");
-        namingServiceA.deregisterInstance(serviceName, addressA.getHost(), addressA.getPort());
-
-        // only B
-        remoteInstancesOfB = queryRemoteNodes(providerB, 1);
-        assertEquals(1, remoteInstancesOfB.size());
-        Address address = remoteInstancesOfB.get(0).getAddress();
-        assertEquals(addressB, address);
-        assertTrue(address.isSelf());
-    }
-
-    private ClusterModuleNacosProvider createProvider(String servicName) throws ModuleStartException {
-        ClusterModuleNacosProvider provider = new ClusterModuleNacosProvider();
-
-        ClusterModuleNacosConfig config = (ClusterModuleNacosConfig) provider.createConfigBeanIfAbsent();
-
-        config.setHostPort(nacosAddress);
-        config.setServiceName(servicName);
-
-        provider.prepare();
-        provider.start();
-        provider.notifyAfterCompleted();
-        return provider;
-    }
-
-    private ClusterRegister getClusterRegister(ModuleProvider provider) {
-        return provider.getService(ClusterRegister.class);
-    }
-
-    private ClusterNodesQuery getClusterNodesQuery(ModuleProvider provider) {
-        return provider.getService(ClusterNodesQuery.class);
-    }
-
-    private List<RemoteInstance> queryRemoteNodes(ModuleProvider provider, int goals) throws InterruptedException {
-        int i = 20;
-        do {
-            List<RemoteInstance> instances = getClusterNodesQuery(provider).queryRemoteNodes();
-            if (instances.size() == goals) {
-                return instances;
-            } else {
-                Thread.sleep(1000);
-            }
-        }
-        while (--i > 0);
-        return Collections.EMPTY_LIST;
-    }
-
-    private void validateServiceInstance(Address selfAddress, Address otherAddress, List<RemoteInstance> queryResult) {
-        assertEquals(2, queryResult.size());
-
-        boolean selfExist = false, otherExist = false;
-
-        for (RemoteInstance instance : queryResult) {
-            Address queryAddress = instance.getAddress();
-            if (queryAddress.equals(selfAddress) && queryAddress.isSelf()) {
-                selfExist = true;
-            } else if (queryAddress.equals(otherAddress) && !queryAddress.isSelf()) {
-                otherExist = true;
-            }
-        }
-
-        assertTrue(selfExist);
-        assertTrue(otherExist);
-    }
-
-}
diff --git a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/NacosCoordinatorTest.java b/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/NacosCoordinatorTest.java
deleted file mode 100644
index 71acb74..0000000
--- a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/NacosCoordinatorTest.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.cluster.plugin.nacos;
-
-import com.alibaba.nacos.api.exception.NacosException;
-import com.alibaba.nacos.api.naming.NamingService;
-import com.alibaba.nacos.api.naming.pojo.Instance;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import org.apache.skywalking.oap.server.core.cluster.RemoteInstance;
-import org.apache.skywalking.oap.server.core.remote.client.Address;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.ArgumentCaptor;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-public class NacosCoordinatorTest {
-    private NamingService namingService = mock(NamingService.class);
-    private ClusterModuleNacosConfig nacosConfig = new ClusterModuleNacosConfig();
-    private NacosCoordinator coordinator;
-
-    private Address remoteAddress = new Address("10.0.0.1", 1000, false);
-    private Address selfRemoteAddress = new Address("10.0.0.2", 1001, true);
-
-    private static final String SERVICE_NAME = "test-service";
-
-    @Before
-    public void setUp() throws NacosException {
-        nacosConfig.setServiceName(SERVICE_NAME);
-        coordinator = new NacosCoordinator(namingService, nacosConfig);
-    }
-
-    @Test
-    @SuppressWarnings("unchecked")
-    public void queryRemoteNodesWithNonOrEmpty() throws NacosException {
-        when(namingService.selectInstances(anyString(), anyBoolean())).thenReturn(null, Collections.emptyList());
-        assertEquals(0, coordinator.queryRemoteNodes().size());
-    }
-
-    @Test
-    public void queryRemoteNodes() throws NacosException {
-        registerSelfRemote();
-        List<Instance> instances = mockInstance();
-        when(namingService.selectInstances(anyString(), anyBoolean())).thenReturn(instances);
-        List<RemoteInstance> remoteInstances = coordinator.queryRemoteNodes();
-        assertEquals(2, remoteInstances.size());
-
-        RemoteInstance selfInstance = remoteInstances.get(0);
-        validate(selfRemoteAddress, selfInstance);
-
-        RemoteInstance notSelfInstance = remoteInstances.get(1);
-        validate(remoteAddress, notSelfInstance);
-    }
-
-    @Test
-    public void queryRemoteNodesWithNullSelf() throws NacosException {
-        List<Instance> instances = mockInstance();
-        when(namingService.selectInstances(anyString(), anyBoolean())).thenReturn(instances);
-        List<RemoteInstance> remoteInstances = coordinator.queryRemoteNodes();
-        assertEquals(remoteInstances.size(), instances.size());
-    }
-
-    @Test
-    public void registerRemote() throws NacosException {
-        registerRemote(remoteAddress);
-    }
-
-    @Test
-    public void registerSelfRemote() throws NacosException {
-        registerRemote(selfRemoteAddress);
-    }
-
-    private void validate(Address originArress, RemoteInstance instance) {
-        Address instanceAddress = instance.getAddress();
-        assertEquals(originArress.getHost(), instanceAddress.getHost());
-        assertEquals(originArress.getPort(), instanceAddress.getPort());
-    }
-
-    private void registerRemote(Address address) throws NacosException {
-        coordinator.registerRemote(new RemoteInstance(address));
-
-        ArgumentCaptor<String> serviceNameArgumentCaptor = ArgumentCaptor.forClass(String.class);
-        ArgumentCaptor<String> hostArgumentCaptor = ArgumentCaptor.forClass(String.class);
-        ArgumentCaptor<Integer> portArgumentCaptor = ArgumentCaptor.forClass(Integer.class);
-        verify(namingService).registerInstance(serviceNameArgumentCaptor.capture(), hostArgumentCaptor.capture(), portArgumentCaptor
-            .capture());
-
-        assertEquals(SERVICE_NAME, serviceNameArgumentCaptor.getValue());
-        assertEquals(address.getHost(), hostArgumentCaptor.getValue());
-        assertEquals(Long.valueOf(address.getPort()), Long.valueOf(portArgumentCaptor.getValue()));
-    }
-
-    private List<Instance> mockInstance() {
-        Instance remoteInstance = new Instance();
-        Instance selfInstance = new Instance();
-        selfInstance.setIp(selfRemoteAddress.getHost());
-        selfInstance.setPort(selfRemoteAddress.getPort());
-
-        remoteInstance.setIp(remoteAddress.getHost());
-        remoteInstance.setPort(remoteAddress.getPort());
-
-        List<Instance> instances = new ArrayList<>();
-        instances.add(selfInstance);
-        instances.add(remoteInstance);
-        return instances;
-    }
-}
diff --git a/oap-server/server-cluster-plugin/pom.xml b/oap-server/server-cluster-plugin/pom.xml
index a44b55c..ae5e487 100644
--- a/oap-server/server-cluster-plugin/pom.xml
+++ b/oap-server/server-cluster-plugin/pom.xml
@@ -32,7 +32,6 @@
         <module>cluster-standalone-plugin</module>
         <module>cluster-kubernetes-plugin</module>
         <module>cluster-consul-plugin</module>
-        <module>cluster-nacos-plugin</module>
         <module>cluster-etcd-plugin</module>
     </modules>
 
diff --git a/oap-server/server-configuration/configuration-nacos/pom.xml b/oap-server/server-configuration/configuration-nacos/pom.xml
deleted file mode 100644
index 1906aa4..0000000
--- a/oap-server/server-configuration/configuration-nacos/pom.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>server-configuration</artifactId>
-        <groupId>org.apache.skywalking</groupId>
-        <version>8.0.0-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>configuration-nacos</artifactId>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.skywalking</groupId>
-            <artifactId>configuration-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.skywalking</groupId>
-            <artifactId>library-client</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba.nacos</groupId>
-            <artifactId>nacos-client</artifactId>
-        </dependency>
-    </dependencies>
-
-    <profiles>
-        <profile>
-            <id>CI-with-IT</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>io.fabric8</groupId>
-                        <artifactId>docker-maven-plugin</artifactId>
-                        <configuration>
-                            <sourceMode>all</sourceMode>
-                            <showLogs>true</showLogs>
-                            <logDate>default</logDate>
-                            <verbose>true</verbose>
-                            <imagePullPolicy>IfNotPresent</imagePullPolicy>
-                            <images>
-                                <image>
-                                    <name>nacos/nacos-server:${nacos.version}</name>
-                                    <alias>nacos-dynamic-configuration-integration-test-nacos</alias>
-                                    <run>
-                                        <env>
-                                            <MODE>standalone</MODE>
-                                        </env>
-                                        <ports>
-                                            <port>nacos.port:8848</port>
-                                        </ports>
-                                        <wait>
-                                            <log>Nacos started successfully</log>
-                                            <time>120000</time>
-                                        </wait>
-                                    </run>
-                                </image>
-                            </images>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <id>start</id>
-                                <phase>pre-integration-test</phase>
-                                <goals>
-                                    <goal>start</goal>
-                                </goals>
-                            </execution>
-                            <execution>
-                                <id>stop</id>
-                                <phase>post-integration-test</phase>
-                                <goals>
-                                    <goal>stop</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.codehaus.gmaven</groupId>
-                        <artifactId>gmaven-plugin</artifactId>
-                        <version>${gmaven-plugin.version}</version>
-                        <executions>
-                            <execution>
-                                <id>add-default-properties</id>
-                                <phase>initialize</phase>
-                                <goals>
-                                    <goal>execute</goal>
-                                </goals>
-                                <configuration>
-                                    <providerSelection>2.0</providerSelection>
-                                    <source>
-                                        project.properties.setProperty('docker.hostname', 'localhost')
-
-                                        log.info("Docker hostname is " + project.properties['docker.hostname'])
-                                    </source>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-failsafe-plugin</artifactId>
-                        <configuration>
-                            <systemPropertyVariables>
-                                <nacos.host>
-                                    ${docker.hostname}
-                                </nacos.host>
-                                <nacos.port>
-                                    ${nacos.port}
-                                </nacos.port>
-                            </systemPropertyVariables>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>integration-test</goal>
-                                    <goal>verify</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-</project>
diff --git a/oap-server/server-configuration/configuration-nacos/src/main/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigWatcherRegister.java b/oap-server/server-configuration/configuration-nacos/src/main/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigWatcherRegister.java
deleted file mode 100644
index 0101cdf..0000000
--- a/oap-server/server-configuration/configuration-nacos/src/main/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigWatcherRegister.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.configuration.nacos;
-
-import com.alibaba.nacos.api.NacosFactory;
-import com.alibaba.nacos.api.PropertyKeyConst;
-import com.alibaba.nacos.api.config.ConfigService;
-import com.alibaba.nacos.api.config.listener.Listener;
-import com.alibaba.nacos.api.exception.NacosException;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Optional;
-import java.util.Properties;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.Executor;
-import org.apache.skywalking.oap.server.configuration.api.ConfigTable;
-import org.apache.skywalking.oap.server.configuration.api.ConfigWatcherRegister;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class NacosConfigWatcherRegister extends ConfigWatcherRegister {
-    private static final Logger LOGGER = LoggerFactory.getLogger(NacosConfigWatcherRegister.class);
-
-    private final NacosServerSettings settings;
-    private final ConfigService configService;
-    private final Map<String, Optional<String>> configItemKeyedByName;
-    private final Map<String, Listener> listenersByKey;
-
-    public NacosConfigWatcherRegister(NacosServerSettings settings) throws NacosException {
-        super(settings.getPeriod());
-
-        this.settings = settings;
-        this.configItemKeyedByName = new ConcurrentHashMap<>();
-        this.listenersByKey = new ConcurrentHashMap<>();
-
-        final int port = this.settings.getPort();
-        final String serverAddr = this.settings.getServerAddr();
-
-        final Properties properties = new Properties();
-        properties.put(PropertyKeyConst.SERVER_ADDR, serverAddr + ":" + port);
-        properties.put(PropertyKeyConst.NAMESPACE, settings.getNamespace());
-        this.configService = NacosFactory.createConfigService(properties);
-    }
-
-    @Override
-    public Optional<ConfigTable> readConfig(Set<String> keys) {
-        removeUninterestedKeys(keys);
-        registerKeyListeners(keys);
-
-        final ConfigTable table = new ConfigTable();
-
-        for (Map.Entry<String, Optional<String>> entry : configItemKeyedByName.entrySet()) {
-            final String key = entry.getKey();
-            final Optional<String> value = entry.getValue();
-
-            if (value.isPresent()) {
-                table.add(new ConfigTable.ConfigItem(key, value.get()));
-            } else {
-                table.add(new ConfigTable.ConfigItem(key, null));
-            }
-        }
-
-        return Optional.of(table);
-    }
-
-    private void registerKeyListeners(final Set<String> keys) {
-        final String group = settings.getGroup();
-
-        for (final String dataId : keys) {
-            if (listenersByKey.containsKey(dataId)) {
-                continue;
-            }
-            try {
-                listenersByKey.putIfAbsent(dataId, new Listener() {
-                    @Override
-                    public Executor getExecutor() {
-                        return null;
-                    }
-
-                    @Override
-                    public void receiveConfigInfo(String configInfo) {
-                        onDataIdValueChanged(dataId, configInfo);
-                    }
-                });
-                configService.addListener(dataId, group, listenersByKey.get(dataId));
-
-                // the key is newly added, read the config for the first time
-                final String config = configService.getConfig(dataId, group, 1000);
-                onDataIdValueChanged(dataId, config);
-            } catch (NacosException e) {
-                LOGGER.warn("Failed to register Nacos listener for dataId: {}", dataId);
-            }
-        }
-    }
-
-    private void removeUninterestedKeys(final Set<String> interestedKeys) {
-        final String group = settings.getGroup();
-
-        final Set<String> uninterestedKeys = new HashSet<>(listenersByKey.keySet());
-        uninterestedKeys.removeAll(interestedKeys);
-
-        uninterestedKeys.forEach(k -> {
-            final Listener listener = listenersByKey.remove(k);
-            if (listener != null) {
-                configService.removeListener(k, group, listener);
-            }
-        });
-    }
-
-    void onDataIdValueChanged(String dataId, String configInfo) {
-        if (LOGGER.isInfoEnabled()) {
-            LOGGER.info("Nacos config changed: {}: {}", dataId, configInfo);
-        }
-
-        configItemKeyedByName.put(dataId, Optional.ofNullable(configInfo));
-    }
-}
diff --git a/oap-server/server-configuration/configuration-nacos/src/main/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigurationProvider.java b/oap-server/server-configuration/configuration-nacos/src/main/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigurationProvider.java
deleted file mode 100644
index ce04db2..0000000
--- a/oap-server/server-configuration/configuration-nacos/src/main/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigurationProvider.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.configuration.nacos;
-
-import com.alibaba.nacos.api.exception.NacosException;
-import com.google.common.base.Strings;
-import org.apache.skywalking.oap.server.configuration.api.AbstractConfigurationProvider;
-import org.apache.skywalking.oap.server.configuration.api.ConfigWatcherRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
-import org.apache.skywalking.oap.server.library.module.ModuleStartException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Get configuration from Nacos.
- */
-public class NacosConfigurationProvider extends AbstractConfigurationProvider {
-    private static final Logger LOGGER = LoggerFactory.getLogger(NacosConfigurationProvider.class);
-
-    private NacosServerSettings settings;
-
-    public NacosConfigurationProvider() {
-        settings = new NacosServerSettings();
-    }
-
-    @Override
-    public String name() {
-        return "nacos";
-    }
-
-    @Override
-    public ModuleConfig createConfigBeanIfAbsent() {
-        return settings;
-    }
-
-    @Override
-    protected ConfigWatcherRegister initConfigReader() throws ModuleStartException {
-        LOGGER.info("settings: {}", settings);
-        if (Strings.isNullOrEmpty(settings.getServerAddr())) {
-            throw new ModuleStartException("Nacos serverAddr cannot be null or empty.");
-        }
-        if (settings.getPort() <= 0) {
-            throw new ModuleStartException("Nacos port must be positive integer.");
-        }
-        if (Strings.isNullOrEmpty(settings.getGroup())) {
-            throw new ModuleStartException("Nacos group cannot be null or empty.");
-        }
-
-        try {
-            return new NacosConfigWatcherRegister(settings);
-        } catch (NacosException e) {
-            throw new ModuleStartException(e.getMessage(), e);
-        }
-    }
-}
diff --git a/oap-server/server-configuration/configuration-nacos/src/main/java/org/apache/skywalking/oap/server/configuration/nacos/NacosServerSettings.java b/oap-server/server-configuration/configuration-nacos/src/main/java/org/apache/skywalking/oap/server/configuration/nacos/NacosServerSettings.java
deleted file mode 100644
index cbe4af1..0000000
--- a/oap-server/server-configuration/configuration-nacos/src/main/java/org/apache/skywalking/oap/server/configuration/nacos/NacosServerSettings.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.configuration.nacos;
-
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
-
-@Getter
-@Setter
-@ToString
-public class NacosServerSettings extends ModuleConfig {
-    private String clusterName = "default";
-    private String namespace = "";
-    private String serverAddr;
-    private int port = 8848;
-    private String group;
-    private int period = 60;
-}
diff --git a/oap-server/server-configuration/configuration-nacos/src/main/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleProvider b/oap-server/server-configuration/configuration-nacos/src/main/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleProvider
deleted file mode 100644
index d3fbbfc..0000000
--- a/oap-server/server-configuration/configuration-nacos/src/main/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleProvider
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-#
-
-org.apache.skywalking.oap.server.configuration.nacos.NacosConfigurationProvider
diff --git a/oap-server/server-configuration/configuration-nacos/src/test/java/org/apache/skywalking/oap/server/configuration/nacos/ITNacosConfigurationTest.java b/oap-server/server-configuration/configuration-nacos/src/test/java/org/apache/skywalking/oap/server/configuration/nacos/ITNacosConfigurationTest.java
deleted file mode 100644
index d71d0ee..0000000
--- a/oap-server/server-configuration/configuration-nacos/src/test/java/org/apache/skywalking/oap/server/configuration/nacos/ITNacosConfigurationTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.configuration.nacos;
-
-import com.alibaba.nacos.api.NacosFactory;
-import com.alibaba.nacos.api.config.ConfigService;
-import com.alibaba.nacos.api.exception.NacosException;
-import java.io.FileNotFoundException;
-import java.io.Reader;
-import java.util.Map;
-import java.util.Properties;
-import org.apache.skywalking.apm.util.PropertyPlaceholderHelper;
-import org.apache.skywalking.oap.server.library.module.ApplicationConfiguration;
-import org.apache.skywalking.oap.server.library.module.ModuleManager;
-import org.apache.skywalking.oap.server.library.util.CollectionUtils;
-import org.apache.skywalking.oap.server.library.util.ResourceUtils;
-import org.junit.Before;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.yaml.snakeyaml.Yaml;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-public class ITNacosConfigurationTest {
-    private static final Logger LOGGER = LoggerFactory.getLogger(ITNacosConfigurationTest.class);
-
-    private final Yaml yaml = new Yaml();
-
-    private NacosConfigurationTestProvider provider;
-
-    @Before
-    public void setUp() throws Exception {
-        final ApplicationConfiguration applicationConfiguration = new ApplicationConfiguration();
-        loadConfig(applicationConfiguration);
-
-        final ModuleManager moduleManager = new ModuleManager();
-        moduleManager.init(applicationConfiguration);
-
-        provider = (NacosConfigurationTestProvider) moduleManager.find(NacosConfigurationTestModule.NAME).provider();
-
-        assertNotNull(provider);
-    }
-
-    @SuppressWarnings("StatementWithEmptyBody")
-    @Test(timeout = 20000)
-    public void shouldReadUpdated() throws NacosException {
-        assertNull(provider.watcher.value());
-
-        final Properties properties = new Properties();
-        final String nacosHost = System.getProperty("nacos.host");
-        final String nacosPort = System.getProperty("nacos.port");
-        LOGGER.info("nacosHost: {}, nacosPort: {}", nacosHost, nacosPort);
-        properties.put("serverAddr", nacosHost + ":" + nacosPort);
-
-        final ConfigService configService = NacosFactory.createConfigService(properties);
-        assertTrue(configService.publishConfig("test-module.default.testKey", "skywalking", "500"));
-
-        for (String v = provider.watcher.value(); v == null; v = provider.watcher.value()) {
-        }
-
-        assertEquals("500", provider.watcher.value());
-
-        assertTrue(configService.removeConfig("test-module.default.testKey", "skywalking"));
-
-        for (String v = provider.watcher.value(); v != null; v = provider.watcher.value()) {
-        }
-
-        assertNull(provider.watcher.value());
-    }
-
-    @SuppressWarnings("unchecked")
-    private void loadConfig(ApplicationConfiguration configuration) throws FileNotFoundException {
-        Reader applicationReader = ResourceUtils.read("application.yml");
-        Map<String, Map<String, Map<String, ?>>> moduleConfig = yaml.loadAs(applicationReader, Map.class);
-        if (CollectionUtils.isNotEmpty(moduleConfig)) {
-            moduleConfig.forEach((moduleName, providerConfig) -> {
-                if (providerConfig.size() > 0) {
-                    ApplicationConfiguration.ModuleConfiguration moduleConfiguration = configuration.addModule(moduleName);
-                    providerConfig.forEach((name, propertiesConfig) -> {
-                        Properties properties = new Properties();
-                        if (propertiesConfig != null) {
-                            propertiesConfig.forEach((key, value) -> {
-                                properties.put(key, value);
-                                final Object replaceValue = yaml.load(PropertyPlaceholderHelper.INSTANCE.replacePlaceholders(value + "", properties));
-                                if (replaceValue != null) {
-                                    properties.replace(key, replaceValue);
-                                }
-                            });
-                        }
-                        moduleConfiguration.addProviderConfiguration(name, properties);
-                    });
-                }
-            });
-        }
-    }
-}
diff --git a/oap-server/server-configuration/configuration-nacos/src/test/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigWatcherRegisterTest.java b/oap-server/server-configuration/configuration-nacos/src/test/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigWatcherRegisterTest.java
deleted file mode 100644
index 671ae2a..0000000
--- a/oap-server/server-configuration/configuration-nacos/src/test/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigWatcherRegisterTest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.configuration.nacos;
-
-import com.alibaba.nacos.api.config.ConfigService;
-import com.alibaba.nacos.api.exception.NacosException;
-import com.google.common.collect.Sets;
-import java.util.HashMap;
-import java.util.Map;
-import org.apache.skywalking.oap.server.configuration.api.ConfigTable;
-import org.junit.Test;
-import org.powermock.reflect.Whitebox;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-public class NacosConfigWatcherRegisterTest {
-    @Test
-    public void shouldReadConfigs() throws NacosException {
-        final String group = "skywalking";
-        final String testKey1 = "receiver-trace.default.slowDBAccessThreshold";
-        final String testVal1 = "test";
-        final String testKey2 = "testKey";
-        final String testVal2 = "testVal";
-
-        final NacosServerSettings mockSettings = mock(NacosServerSettings.class);
-        when(mockSettings.getGroup()).thenReturn(group);
-        when(mockSettings.getNamespace()).thenReturn("");
-
-        final NacosConfigWatcherRegister mockRegister = spy(new NacosConfigWatcherRegister(mockSettings));
-        final ConfigService mockConfigService = mock(ConfigService.class);
-        when(mockConfigService.getConfig(testKey1, group, 1000)).thenReturn(testVal1);
-        when(mockConfigService.getConfig(testKey2, group, 1000)).thenReturn(testVal2);
-
-        Whitebox.setInternalState(mockRegister, "configService", mockConfigService);
-
-        final ConfigTable configTable = mockRegister.readConfig(Sets.newHashSet(testKey1, testKey2)).get();
-
-        assertEquals(2, configTable.getItems().size());
-        Map<String, String> kvs = new HashMap<>();
-        for (ConfigTable.ConfigItem item : configTable.getItems()) {
-            kvs.put(item.getName(), item.getValue());
-        }
-        assertEquals(testVal1, kvs.get(testKey1));
-        assertEquals(testVal2, kvs.get(testKey2));
-    }
-}
diff --git a/oap-server/server-configuration/configuration-nacos/src/test/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigurationTestModule.java b/oap-server/server-configuration/configuration-nacos/src/test/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigurationTestModule.java
deleted file mode 100644
index a638f96..0000000
--- a/oap-server/server-configuration/configuration-nacos/src/test/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigurationTestModule.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.configuration.nacos;
-
-import org.apache.skywalking.oap.server.library.module.ModuleDefine;
-
-public class NacosConfigurationTestModule extends ModuleDefine {
-    public static final String NAME = "test-module";
-
-    public NacosConfigurationTestModule() {
-        super(NAME);
-    }
-
-    @Override
-    public Class[] services() {
-        return new Class[0];
-    }
-}
diff --git a/oap-server/server-configuration/configuration-nacos/src/test/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigurationTestProvider.java b/oap-server/server-configuration/configuration-nacos/src/test/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigurationTestProvider.java
deleted file mode 100644
index 8b62147..0000000
--- a/oap-server/server-configuration/configuration-nacos/src/test/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigurationTestProvider.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.configuration.nacos;
-
-import org.apache.skywalking.oap.server.configuration.api.ConfigChangeWatcher;
-import org.apache.skywalking.oap.server.configuration.api.ConfigurationModule;
-import org.apache.skywalking.oap.server.configuration.api.DynamicConfigurationService;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
-import org.apache.skywalking.oap.server.library.module.ModuleDefine;
-import org.apache.skywalking.oap.server.library.module.ModuleProvider;
-import org.apache.skywalking.oap.server.library.module.ModuleStartException;
-import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class NacosConfigurationTestProvider extends ModuleProvider {
-    private static final Logger LOGGER = LoggerFactory.getLogger(NacosConfigurationTestProvider.class);
-
-    ConfigChangeWatcher watcher;
-
-    @Override
-    public String name() {
-        return "default";
-    }
-
-    @Override
-    public Class<? extends ModuleDefine> module() {
-        return NacosConfigurationTestModule.class;
-    }
-
-    @Override
-    public ModuleConfig createConfigBeanIfAbsent() {
-        return new ModuleConfig() {
-        };
-    }
-
-    @Override
-    public void prepare() throws ServiceNotProvidedException, ModuleStartException {
-        watcher = new ConfigChangeWatcher(NacosConfigurationTestModule.NAME, this, "testKey") {
-            private volatile String testValue;
-
-            @Override
-            public void notify(ConfigChangeWatcher.ConfigChangeEvent value) {
-                LOGGER.info("ConfigChangeWatcher.ConfigChangeEvent: {}", value);
-                if (EventType.DELETE.equals(value.getEventType())) {
-                    testValue = null;
-                } else {
-                    testValue = value.getNewValue();
-                }
-            }
-
-            @Override
-            public String value() {
-                return testValue;
-            }
-        };
-    }
-
-    @Override
-    public void start() throws ServiceNotProvidedException, ModuleStartException {
-        getManager().find(ConfigurationModule.NAME)
-                    .provider()
-                    .getService(DynamicConfigurationService.class)
-                    .registerConfigChangeWatcher(watcher);
-    }
-
-    @Override
-    public void notifyAfterCompleted() throws ServiceNotProvidedException, ModuleStartException {
-
-    }
-
-    @Override
-    public String[] requiredModules() {
-        return new String[] {
-            ConfigurationModule.NAME
-        };
-    }
-}
diff --git a/oap-server/server-configuration/configuration-nacos/src/test/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleDefine b/oap-server/server-configuration/configuration-nacos/src/test/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleDefine
deleted file mode 100644
index 9448151..0000000
--- a/oap-server/server-configuration/configuration-nacos/src/test/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleDefine
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-#
-
-org.apache.skywalking.oap.server.configuration.api.ConfigurationModule
-org.apache.skywalking.oap.server.configuration.nacos.NacosConfigurationTestModule
diff --git a/oap-server/server-configuration/configuration-nacos/src/test/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleProvider b/oap-server/server-configuration/configuration-nacos/src/test/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleProvider
deleted file mode 100644
index 72ce82e..0000000
--- a/oap-server/server-configuration/configuration-nacos/src/test/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleProvider
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-#
-
-org.apache.skywalking.oap.server.configuration.nacos.NacosConfigurationTestProvider
diff --git a/oap-server/server-configuration/configuration-nacos/src/test/resources/application.yml b/oap-server/server-configuration/configuration-nacos/src/test/resources/application.yml
deleted file mode 100755
index f5bd261..0000000
--- a/oap-server/server-configuration/configuration-nacos/src/test/resources/application.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-test-module:
-  default:
-    testKey: 300
-
-
-configuration:
-  nacos:
-    # Nacos Server Host
-    serverAddr: ${nacos.host}
-    # Nacos Server Port
-    port: ${nacos.port}
-    # Nacos Configuration Group
-    group: 'skywalking'
-    # Nacos Configuration namespace
-    namespace: ''
-    # Unit seconds, sync period. Default fetch every 60 seconds.
-    period: 1
-    # the name of current cluster, set the name if you want to upstream system known.
-    clusterName: "default"
diff --git a/oap-server/server-configuration/configuration-nacos/src/test/resources/docker/docker-entrypoint-initdb.d/nacos-mysql.sql b/oap-server/server-configuration/configuration-nacos/src/test/resources/docker/docker-entrypoint-initdb.d/nacos-mysql.sql
deleted file mode 100644
index c08daf9..0000000
--- a/oap-server/server-configuration/configuration-nacos/src/test/resources/docker/docker-entrypoint-initdb.d/nacos-mysql.sql
+++ /dev/null
@@ -1,215 +0,0 @@
---
--- Licensed to the Apache Software Foundation (ASF) under one or more
--- contributor license agreements.  See the NOTICE file distributed with
--- this work for additional information regarding copyright ownership.
--- The ASF licenses this file to You under the Apache License, Version 2.0
--- (the "License"); you may not use this file except in compliance with
--- the License.  You may obtain a copy of the License at
---
---     http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
-
-CREATE DATABASE test DEFAULT CHARACTER SET = 'utf8';
-
-USE test;
-
-/******************************************/
-/*   database name = nacos_config   */
-/*   table_name = config_info   */
-/******************************************/
-CREATE TABLE `config_info` (
-  `id` bigint(20) NOT NULL AUTO_INCREMENT,
-  `data_id` varchar(255) NOT NULL,
-  `group_id` varchar(255) DEFAULT NULL,
-  `content` longtext NOT NULL,
-  `md5` varchar(32) DEFAULT NULL,
-  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
-  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
-  `src_user` text,
-  `src_ip` varchar(20) DEFAULT NULL,
-  `app_name` varchar(128) DEFAULT NULL,
-  `tenant_id` varchar(128) DEFAULT '',
-  `c_desc` varchar(256) DEFAULT NULL,
-  `c_use` varchar(64) DEFAULT NULL,
-  `effect` varchar(64) DEFAULT NULL,
-  `type` varchar(64) DEFAULT NULL,
-  `c_schema` text,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-
-/******************************************/
-/*   database name = nacos_config   */
-/*   table name = config_info_aggr   */
-/******************************************/
-CREATE TABLE `config_info_aggr` (
-  `id` bigint(20) NOT NULL AUTO_INCREMENT,
-  `data_id` varchar(255) NOT NULL,
-  `group_id` varchar(255) NOT NULL,
-  `datum_id` varchar(255) NOT NULL,
-  `content` longtext NOT NULL,
-  `gmt_modified` datetime NOT NULL,
-  `app_name` varchar(128) DEFAULT NULL,
-  `tenant_id` varchar(128) DEFAULT '',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-
-
-/******************************************/
-/*   database name = nacos_config   */
-/*   table name = config_info_beta   */
-/******************************************/
-CREATE TABLE `config_info_beta` (
-  `id` bigint(20) NOT NULL AUTO_INCREMENT,
-  `data_id` varchar(255) NOT NULL,
-  `group_id` varchar(128) NOT NULL,
-  `app_name` varchar(128) DEFAULT NULL,
-  `content` longtext NOT NULL,
-  `beta_ips` varchar(1024) DEFAULT NULL,
-  `md5` varchar(32) DEFAULT NULL,
-  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
-  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
-  `src_user` text,
-  `src_ip` varchar(20) DEFAULT NULL,
-  `tenant_id` varchar(128) DEFAULT '',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-
-/******************************************/
-/*   database name = nacos_config   */
-/*   table name = config_info_tag   */
-/******************************************/
-CREATE TABLE `config_info_tag` (
-  `id` bigint(20) NOT NULL AUTO_INCREMENT,
-  `data_id` varchar(255) NOT NULL,
-  `group_id` varchar(128) NOT NULL,
-  `tenant_id` varchar(128) DEFAULT '',
-  `tag_id` varchar(128) NOT NULL,
-  `app_name` varchar(128) DEFAULT NULL,
-  `content` longtext NOT NULL,
-  `md5` varchar(32) DEFAULT NULL,
-  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
-  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
-  `src_user` text,
-  `src_ip` varchar(20) DEFAULT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-
-/******************************************/
-/*   database name = nacos_config   */
-/*   table name = config_tags_relation   */
-/******************************************/
-CREATE TABLE `config_tags_relation` (
-  `id` bigint(20) NOT NULL,
-  `tag_name` varchar(128) NOT NULL,
-  `tag_type` varchar(64) DEFAULT NULL,
-  `data_id` varchar(255) NOT NULL,
-  `group_id` varchar(128) NOT NULL,
-  `tenant_id` varchar(128) DEFAULT '',
-  `nid` bigint(20) NOT NULL AUTO_INCREMENT,
-  PRIMARY KEY (`nid`),
-  UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
-  KEY `idx_tenant_id` (`tenant_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-
-/******************************************/
-/*   database name = nacos_config   */
-/*   table name = group_capacity   */
-/******************************************/
-CREATE TABLE `group_capacity` (
-  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
-  `group_id` varchar(128) NOT NULL DEFAULT '',
-  `quota` int(10) unsigned NOT NULL DEFAULT '0',
-  `usage` int(10) unsigned NOT NULL DEFAULT '0',
-  `max_size` int(10) unsigned NOT NULL DEFAULT '0',
-  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0',
-  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0',
-  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0',
-  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
-  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_group_id` (`group_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-
-/******************************************/
-/*   database name = nacos_config   */
-/*   table name = his_config_info   */
-/******************************************/
-CREATE TABLE `his_config_info` (
-  `id` bigint(64) unsigned NOT NULL,
-  `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
-  `data_id` varchar(255) NOT NULL,
-  `group_id` varchar(128) NOT NULL,
-  `app_name` varchar(128) DEFAULT NULL,
-  `content` longtext NOT NULL,
-  `md5` varchar(32) DEFAULT NULL,
-  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
-  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
-  `src_user` text,
-  `src_ip` varchar(20) DEFAULT NULL,
-  `op_type` char(10) DEFAULT NULL,
-  `tenant_id` varchar(128) DEFAULT '',
-  PRIMARY KEY (`nid`),
-  KEY `idx_gmt_create` (`gmt_create`),
-  KEY `idx_gmt_modified` (`gmt_modified`),
-  KEY `idx_did` (`data_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-
-
-/******************************************/
-/*   database name = nacos_config   */
-/*   table name = tenant_capacity   */
-/******************************************/
-CREATE TABLE `tenant_capacity` (
-  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
-  `tenant_id` varchar(128) NOT NULL DEFAULT '',
-  `quota` int(10) unsigned NOT NULL DEFAULT '0',
-  `usage` int(10) unsigned NOT NULL DEFAULT '0',
-  `max_size` int(10) unsigned NOT NULL DEFAULT '0',
-  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0',
-  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0',
-  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0',
-  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
-  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_tenant_id` (`tenant_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-
-
-CREATE TABLE `tenant_info` (
-  `id` bigint(20) NOT NULL AUTO_INCREMENT,
-  `kp` varchar(128) NOT NULL,
-  `tenant_id` varchar(128) default '',
-  `tenant_name` varchar(128) default '',
-  `tenant_desc` varchar(256) DEFAULT NULL,
-  `create_source` varchar(32) DEFAULT NULL,
-  `gmt_create` bigint(20) NOT NULL,
-  `gmt_modified` bigint(20) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
-  KEY `idx_tenant_id` (`tenant_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-
-CREATE TABLE users (
-	username varchar(50) NOT NULL PRIMARY KEY,
-	password varchar(500) NOT NULL,
-	enabled boolean NOT NULL
-);
-
-CREATE TABLE roles (
-	username varchar(50) NOT NULL,
-	role varchar(50) NOT NULL
-);
-
-INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);
-
-INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');
diff --git a/oap-server/server-configuration/pom.xml b/oap-server/server-configuration/pom.xml
index d859871..85e07c4 100644
--- a/oap-server/server-configuration/pom.xml
+++ b/oap-server/server-configuration/pom.xml
@@ -32,7 +32,6 @@
         <module>configuration-api</module>
         <module>grpc-configuration-sync</module>
         <module>configuration-apollo</module>
-        <module>configuration-nacos</module>
         <module>configuration-zookeeper</module>
         <module>configuration-etcd</module>
         <module>configuration-consul</module>
diff --git a/tools/dependencies/known-oap-backend-dependencies-es7.txt b/tools/dependencies/known-oap-backend-dependencies-es7.txt
index d7bb441..fc75930 100755
--- a/tools/dependencies/known-oap-backend-dependencies-es7.txt
+++ b/tools/dependencies/known-oap-backend-dependencies-es7.txt
@@ -38,7 +38,6 @@ elasticsearch-x-content-7.0.0.jar
 error_prone_annotations-2.3.2.jar
 etcd4j-2.17.0.jar
 failureaccess-1.0.1.jar
-fastjson-1.2.58.jar
 freemarker-2.3.28.jar
 graphql-java-8.0.jar
 graphql-java-tools-5.2.3.jar
@@ -116,9 +115,6 @@ lucene-spatial-extras-8.0.0.jar
 lucene-spatial3d-8.0.0.jar
 lucene-suggest-8.0.0.jar
 minimal-json-0.9.5.jar
-nacos-api-1.2.0.jar
-nacos-client-1.2.0.jar
-nacos-common-1.2.0.jar
 netty-3.10.5.Final.jar
 netty-buffer-4.1.42.Final.jar
 netty-codec-4.1.42.Final.jar
diff --git a/tools/dependencies/known-oap-backend-dependencies.txt b/tools/dependencies/known-oap-backend-dependencies.txt
index 752cf11..087e011 100755
--- a/tools/dependencies/known-oap-backend-dependencies.txt
+++ b/tools/dependencies/known-oap-backend-dependencies.txt
@@ -37,7 +37,6 @@ elasticsearch-x-content-6.3.2.jar
 error_prone_annotations-2.3.2.jar
 etcd4j-2.17.0.jar
 failureaccess-1.0.1.jar
-fastjson-1.2.58.jar
 freemarker-2.3.28.jar
 graphql-java-8.0.jar
 graphql-java-tools-5.2.3.jar
@@ -114,9 +113,6 @@ lucene-spatial-extras-7.3.1.jar
 lucene-spatial3d-7.3.1.jar
 lucene-suggest-7.3.1.jar
 minimal-json-0.9.5.jar
-nacos-api-1.2.0.jar
-nacos-client-1.2.0.jar
-nacos-common-1.2.0.jar
 netty-3.10.5.Final.jar
 netty-buffer-4.1.42.Final.jar
 netty-codec-4.1.42.Final.jar