diff --git a/config_center/apollo/impl.go b/config_center/apollo/impl.go
index 5164f5d1cfb9dc295bfb1f69d9ec56f6f84ce25b..8030a2c800c67d47a27e7aaa5d6f1bb39a83cdc9 100644
--- a/config_center/apollo/impl.go
+++ b/config_center/apollo/impl.go
@@ -25,7 +25,8 @@ import (
 )
 
 import (
-	"github.com/pkg/errors"
+	gxset "github.com/dubbogo/gost/container/set"
+	perrors "github.com/pkg/errors"
 	"github.com/zouyx/agollo/v3"
 	agolloConstant "github.com/zouyx/agollo/v3/constant"
 	"github.com/zouyx/agollo/v3/env/config"
diff --git a/config_center/nacos/client.go b/config_center/nacos/client.go
index e8d18d84873f9a9370e46f9cccd889d499d8ddbf..acfe2609ceb0fc62650b7b494b25084ea4df6946 100644
--- a/config_center/nacos/client.go
+++ b/config_center/nacos/client.go
@@ -176,7 +176,7 @@ func initNacosConfigClient(nacosAddrs []string, timeout time.Duration, url commo
 			Endpoint:            url.GetParam(constant.NACOS_ENDPOINT, ""),
 			Username:            url.GetParam(constant.NACOS_USERNAME, ""),
 			Password:            url.GetParam(constant.NACOS_PASSWORD, ""),
-			NamespaceId:         url.GetParam(constant.NACOS_NAMESPACEID, ""),
+			NamespaceId:         url.GetParam(constant.NACOS_NAMESPACE_ID, ""),
 		},
 	})
 }
diff --git a/go.mod b/go.mod
index 09d2a388cb37541f0d19d22643b27b5f3b5c577f..0e2e2d6876ee222652918cbcee1a15f1fa198b53 100644
--- a/go.mod
+++ b/go.mod
@@ -1,7 +1,6 @@
 module github.com/apache/dubbo-go
 
 require (
-	cloud.google.com/go v0.39.0 // indirect
 	github.com/Microsoft/go-winio v0.4.13 // indirect
 	github.com/NYTimes/gziphandler v1.1.1 // indirect
 	github.com/Workiva/go-datastructures v1.0.50
@@ -46,14 +45,12 @@ require (
 	github.com/prometheus/client_golang v1.1.0
 	github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b
 	github.com/shirou/gopsutil v2.19.9+incompatible // indirect
-	github.com/smartystreets/goconvey v0.0.0-20190710185942-9d28bd7c0945 // indirect
 	github.com/stretchr/objx v0.2.0 // indirect
 	github.com/stretchr/testify v1.5.1
 	github.com/zouyx/agollo/v3 v3.4.4
 	go.etcd.io/bbolt v1.3.4 // indirect
 	go.uber.org/atomic v1.6.0
 	go.uber.org/zap v1.15.0
-	google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64 // indirect
 	google.golang.org/grpc v1.23.0
 	gopkg.in/yaml.v2 v2.2.8
 	k8s.io/api v0.16.9
diff --git a/registry/nacos/registry.go b/registry/nacos/registry.go
index d524d0b41c0783cec8693fa6d767036ddc927584..411090820c7682ab9c3b5576ea8ad5207c2c899f 100644
--- a/registry/nacos/registry.go
+++ b/registry/nacos/registry.go
@@ -62,66 +62,6 @@ type nacosRegistry struct {
 	registryUrls []common.URL
 }
 
-func getNacosConfig(url *common.URL) (map[string]interface{}, error) {
-	if url == nil {
-		return nil, perrors.New("url is empty!")
-	}
-	if len(url.Location) == 0 {
-		return nil, perrors.New("url.location is empty!")
-	}
-	configMap := make(map[string]interface{}, 2)
-
-	addresses := strings.Split(url.Location, ",")
-	serverConfigs := make([]nacosConstant.ServerConfig, 0, len(addresses))
-	for _, addr := range addresses {
-		ip, portStr, err := net.SplitHostPort(addr)
-		if err != nil {
-			return nil, perrors.WithMessagef(err, "split [%s] ", addr)
-		}
-		port, _ := strconv.Atoi(portStr)
-		serverConfigs = append(serverConfigs, nacosConstant.ServerConfig{
-			IpAddr: ip,
-			Port:   uint64(port),
-		})
-	}
-	configMap["serverConfigs"] = serverConfigs
-
-	var clientConfig nacosConstant.ClientConfig
-	timeout, err := time.ParseDuration(url.GetParam(constant.REGISTRY_TIMEOUT_KEY, constant.DEFAULT_REG_TIMEOUT))
-	if err != nil {
-		return nil, err
-	}
-	clientConfig.TimeoutMs = uint64(timeout.Seconds() * 1000)
-	clientConfig.ListenInterval = 2 * clientConfig.TimeoutMs
-	clientConfig.CacheDir = url.GetParam(constant.NACOS_CACHE_DIR_KEY, "")
-	clientConfig.LogDir = url.GetParam(constant.NACOS_LOG_DIR_KEY, "")
-	clientConfig.Endpoint = url.GetParam(constant.NACOS_ENDPOINT, "")
-	clientConfig.Username = url.GetParam(constant.NACOS_USERNAME, "")
-	clientConfig.Password = url.GetParam(constant.NACOS_PASSWORD, "")
-	clientConfig.NamespaceId = url.GetParam(constant.NACOS_NAMESPACEID, "")
-	clientConfig.NotLoadCacheAtStart = true
-	configMap["clientConfig"] = clientConfig
-
-	return configMap, nil
-}
-
-func newNacosRegistry(url *common.URL) (registry.Registry, error) {
-	nacosConfig, err := getNacosConfig(url)
-	if err != nil {
-		return nil, err
-	}
-	client, err := clients.CreateNamingClient(nacosConfig)
-	if err != nil {
-		return nil, err
-	}
-	registry := nacosRegistry{
-		URL:          url,
-		namingClient: client,
-		registryUrls: []common.URL{},
-	}
-	return &registry, nil
-}
-
 func getCategory(url common.URL) string {
 	role, _ := strconv.Atoi(url.GetParam(constant.ROLE_KEY, strconv.Itoa(constant.NACOS_DEFAULT_ROLETYPE)))
 	category := common.DubboNodes[role]
@@ -178,22 +118,6 @@ func createRegisterParam(url common.URL, serviceName string) vo.RegisterInstance
 	return instance
 }
 
-func createDeregisterParam(url common.URL, serviceName string) vo.DeregisterInstanceParam {
-	if len(url.Ip) == 0 {
-		url.Ip = localIP
-	}
-	if len(url.Port) == 0 || url.Port == "0" {
-		url.Port = "80"
-	}
-	port, _ := strconv.Atoi(url.Port)
-	return vo.DeregisterInstanceParam{
-		Ip:          url.Ip,
-		Port:        uint64(port),
-		ServiceName: serviceName,
-		Ephemeral:   true,
-	}
-}
-
 // Register will register the service @url to its nacos registry center
 func (nr *nacosRegistry) Register(url common.URL) error {
 	serviceName := getServiceName(url)