diff --git a/metadata/instance.go b/config/instance/metedata_report.go
similarity index 78%
rename from metadata/instance.go
rename to config/instance/metedata_report.go
index 10de0451fd98ae8cab3174a01249c32c193ece27..cd54b0a7940df166c88f02234ab1a4e3bf384163 100644
--- a/metadata/instance.go
+++ b/config/instance/metedata_report.go
@@ -15,26 +15,27 @@
  * limitations under the License.
  */
 
-package metadata
+package instance
+
+import (
+	"sync"
+)
 
 import (
 	"github.com/apache/dubbo-go/common"
 	"github.com/apache/dubbo-go/common/extension"
-	"sync"
+	"github.com/apache/dubbo-go/metadata"
 )
 
 var (
-	instance MetadataReport
+	instance metadata.MetadataReport
 	once     sync.Once
 )
 
-// GetEnvInstance ...
-func Init(url *common.URL) {
+// GetMetadataReportInstance ...
+func GetMetadataReportInstance(url *common.URL) metadata.MetadataReport {
 	once.Do(func() {
-		instance = extension.GetMetadataReportFactory(url.Protocol).createMetadataReport(url)
+		instance = extension.GetMetadataReportFactory(url.Protocol).CreateMetadataReport(url)
 	})
-}
-
-func GetMetadataReportInstance() MetadataReport {
 	return instance
 }
diff --git a/config/metadata_report_config.go b/config/metadata_report_config.go
index 6616cf192a7ace9919120fa971a1d3915055f73b..bf1af51345856fec8bbc197e6e26fa1a535fd084 100644
--- a/config/metadata_report_config.go
+++ b/config/metadata_report_config.go
@@ -18,9 +18,9 @@
 package config
 
 import (
-	"github.com/apache/dubbo-go/metadata"
 	"net/url"
 )
+
 import (
 	"github.com/creasty/defaults"
 	perrors "github.com/pkg/errors"
@@ -29,6 +29,7 @@ import (
 import (
 	"github.com/apache/dubbo-go/common"
 	"github.com/apache/dubbo-go/common/constant"
+	"github.com/apache/dubbo-go/config/instance"
 )
 
 // MethodConfig ...
@@ -93,7 +94,7 @@ func startMetadataReport() error {
 			return perrors.New("MetadataConfig address can not be empty.")
 		}
 		if url, err := consumerConfig.MetadataReportConfig.ToUrl(); err == nil {
-			metadata.Init(url)
+			instance.GetMetadataReportInstance(url)
 		} else {
 			return perrors.New("MetadataConfig is invalid!")
 		}
diff --git a/metadata/report_factory.go b/metadata/report_factory.go
index 60b0b2b572b7e6e4ecb714bb7d9b15d7beaba894..97faee1309790c48d535591ba0f52a913d47a6e0 100644
--- a/metadata/report_factory.go
+++ b/metadata/report_factory.go
@@ -24,5 +24,5 @@ var (
 )
 
 type MetadataReportFactory interface {
-	createMetadataReport(*common.URL) MetadataReport
+	CreateMetadataReport(*common.URL) MetadataReport
 }