You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2021/07/05 18:14:20 UTC

[dubbo-go] branch 3.0 updated: refactor metadata service (#1298)

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

alexstocks pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo-go.git


The following commit(s) were added to refs/heads/3.0 by this push:
     new e43af85  refactor metadata service (#1298)
e43af85 is described below

commit e43af85126fda456e3d81608346bd0d5a0fe248e
Author: XavierNiu <a...@nxw.name>
AuthorDate: Tue Jul 6 02:14:11 2021 +0800

    refactor metadata service (#1298)
---
 common/extension/metadata_remote.go                | 10 ++++-----
 common/extension/metadata_service.go               |  4 ++--
 common/extension/metadata_service_proxy_factory.go |  2 +-
 config/config_loader.go                            |  4 ++--
 config/reference_config.go                         |  4 ++--
 config/service_config.go                           |  4 ++--
 .../service/exporter/configurable/exporter_test.go |  4 ++--
 .../metadata_service_proxy_factory.go              |  2 +-
 .../metadata_service_proxy_factory_test.go         |  2 +-
 metadata/service/{inmemory => local}/service.go    |  6 +++---
 .../service/{inmemory => local}/service_proxy.go   |  2 +-
 .../{inmemory => local}/service_proxy_test.go      |  2 +-
 .../service/{inmemory => local}/service_test.go    |  4 ++--
 metadata/service/{service.go => local_service.go}  |  0
 metadata/service/{remoting => remote}/service.go   | 24 +++++++++++-----------
 .../service/{remoting => remote}/service_test.go   |  8 ++++----
 .../{remoting_service.go => remote_service.go}     |  2 +-
 .../event_publishing_service_deiscovery_test.go    |  4 ++--
 .../event/event_publishing_service_discovery.go    |  4 ++--
 .../service_instances_changed_listener_impl.go     |  2 +-
 .../servicediscovery/service_discovery_registry.go |  6 +++---
 21 files changed, 50 insertions(+), 50 deletions(-)

diff --git a/common/extension/metadata_remote.go b/common/extension/metadata_remote.go
index d0452b7..927e08a 100644
--- a/common/extension/metadata_remote.go
+++ b/common/extension/metadata_remote.go
@@ -29,19 +29,19 @@ import (
 	"dubbo.apache.org/dubbo-go/v3/metadata/service"
 )
 
-type remotingMetadataServiceCreator func() (service.RemotingMetadataService, error)
+type remoteMetadataServiceCreator func() (service.RemoteMetadataService, error)
 
 var (
-	creator remotingMetadataServiceCreator
+	creator remoteMetadataServiceCreator
 )
 
-// SetRemotingMetadataService will store the remote metadata service
-func SetRemotingMetadataService(creatorFunc remotingMetadataServiceCreator) {
+// SetRemoteMetadataService will store the remote metadata service
+func SetRemoteMetadataService(creatorFunc remoteMetadataServiceCreator) {
 	creator = creatorFunc
 }
 
 // GetRemoteMetadataServiceFactory will create a MetadataService instance
-func GetRemotingMetadataService() (service.RemotingMetadataService, error) {
+func GetRemoteMetadataService() (service.RemoteMetadataService, error) {
 	if creator != nil {
 		return creator()
 	}
diff --git a/common/extension/metadata_service.go b/common/extension/metadata_service.go
index 3b23087..780ad37 100644
--- a/common/extension/metadata_service.go
+++ b/common/extension/metadata_service.go
@@ -41,7 +41,7 @@ func SetLocalMetadataService(key string, creator localMetadataServiceCreator) {
 	localMetadataServiceInsMap[key] = creator
 }
 
-// GetMetadataService will create a inmemory MetadataService instance
+// GetMetadataService will create a local MetadataService instance
 func GetLocalMetadataService(key string) (service.MetadataService, error) {
 	if key == "" {
 		key = constant.DEFAULT_KEY
@@ -51,5 +51,5 @@ func GetLocalMetadataService(key string) (service.MetadataService, error) {
 	}
 	return nil, perrors.New(fmt.Sprintf("could not find the metadata service creator for metadataType: local, " +
 		"please check whether you have imported relative packages, " +
-		"local - dubbo.apache.org/dubbo-go/v3/metadata/service/inmemory"))
+		"local - dubbo.apache.org/dubbo-go/v3/metadata/service/local"))
 }
diff --git a/common/extension/metadata_service_proxy_factory.go b/common/extension/metadata_service_proxy_factory.go
index 5657d38..113b4ba 100644
--- a/common/extension/metadata_service_proxy_factory.go
+++ b/common/extension/metadata_service_proxy_factory.go
@@ -46,5 +46,5 @@ func GetMetadataServiceProxyFactory(name string) service.MetadataServiceProxyFac
 	}
 	panic(fmt.Sprintf("could not find the metadata service factory creator for name: %s, "+
 		"please check whether you have imported relative packages, "+
-		"local - dubbo.apache.org/dubbo-go/v3/metadata/service/inmemory", name))
+		"local - dubbo.apache.org/dubbo-go/v3/metadata/service/local", name))
 }
diff --git a/config/config_loader.go b/config/config_loader.go
index 63c6e91..48af47e 100644
--- a/config/config_loader.go
+++ b/config/config_loader.go
@@ -314,8 +314,8 @@ func registerServiceInstance() {
 		}
 	}
 	// todo publish metadata to remote
-	if remotingMetadataService, err := extension.GetRemotingMetadataService(); err == nil {
-		remotingMetadataService.PublishMetadata(GetApplicationConfig().Name)
+	if remoteMetadataService, err := extension.GetRemoteMetadataService(); err == nil {
+		remoteMetadataService.PublishMetadata(GetApplicationConfig().Name)
 	}
 }
 
diff --git a/config/reference_config.go b/config/reference_config.go
index 32d5de1..ff5f6b6 100644
--- a/config/reference_config.go
+++ b/config/reference_config.go
@@ -294,8 +294,8 @@ func (c *ReferenceConfig) GetInvoker() protocol.Invoker {
 }
 
 func publishConsumerDefinition(url *common.URL) {
-	if remotingMetadataService, err := extension.GetRemotingMetadataService(); err == nil && remotingMetadataService != nil {
-		remotingMetadataService.PublishServiceDefinition(url)
+	if remoteMetadataService, err := extension.GetRemoteMetadataService(); err == nil && remoteMetadataService != nil {
+		remoteMetadataService.PublishServiceDefinition(url)
 	}
 }
 
diff --git a/config/service_config.go b/config/service_config.go
index 653a297..ea1a913 100644
--- a/config/service_config.go
+++ b/config/service_config.go
@@ -353,8 +353,8 @@ func (c *ServiceConfig) GetExportedUrls() []*common.URL {
 }
 
 func publishServiceDefinition(url *common.URL) {
-	if remotingMetadataService, err := extension.GetRemotingMetadataService(); err == nil && remotingMetadataService != nil {
-		remotingMetadataService.PublishServiceDefinition(url)
+	if remoteMetadataService, err := extension.GetRemoteMetadataService(); err == nil && remoteMetadataService != nil {
+		remoteMetadataService.PublishServiceDefinition(url)
 
 	}
 }
diff --git a/metadata/service/exporter/configurable/exporter_test.go b/metadata/service/exporter/configurable/exporter_test.go
index e4f0227..3ae6750 100644
--- a/metadata/service/exporter/configurable/exporter_test.go
+++ b/metadata/service/exporter/configurable/exporter_test.go
@@ -30,7 +30,7 @@ import (
 	_ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
 	"dubbo.apache.org/dubbo-go/v3/config"
 	_ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
-	"dubbo.apache.org/dubbo-go/v3/metadata/service/inmemory"
+	"dubbo.apache.org/dubbo-go/v3/metadata/service/local"
 	_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
 	"dubbo.apache.org/dubbo-go/v3/remoting/getty"
 )
@@ -55,7 +55,7 @@ func TestConfigurableExporter(t *testing.T) {
 		},
 	})
 	mockInitProviderWithSingleRegistry()
-	metadataService, _ := inmemory.GetInMemoryMetadataService()
+	metadataService, _ := local.GetLocalMetadataService()
 	exported := NewMetadataServiceExporter(metadataService)
 
 	t.Run("configurableExporterUrlNil", func(t *testing.T) {
diff --git a/metadata/service/inmemory/metadata_service_proxy_factory.go b/metadata/service/local/metadata_service_proxy_factory.go
similarity index 99%
rename from metadata/service/inmemory/metadata_service_proxy_factory.go
rename to metadata/service/local/metadata_service_proxy_factory.go
index ca47ca8..e6e2f40 100644
--- a/metadata/service/inmemory/metadata_service_proxy_factory.go
+++ b/metadata/service/local/metadata_service_proxy_factory.go
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package inmemory
+package local
 
 import (
 	"encoding/json"
diff --git a/metadata/service/inmemory/metadata_service_proxy_factory_test.go b/metadata/service/local/metadata_service_proxy_factory_test.go
similarity index 99%
rename from metadata/service/inmemory/metadata_service_proxy_factory_test.go
rename to metadata/service/local/metadata_service_proxy_factory_test.go
index 1709af8..b20ca93 100644
--- a/metadata/service/inmemory/metadata_service_proxy_factory_test.go
+++ b/metadata/service/local/metadata_service_proxy_factory_test.go
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package inmemory
+package local
 
 import (
 	"context"
diff --git a/metadata/service/inmemory/service.go b/metadata/service/local/service.go
similarity index 98%
rename from metadata/service/inmemory/service.go
rename to metadata/service/local/service.go
index f0d45ee..794d463 100644
--- a/metadata/service/inmemory/service.go
+++ b/metadata/service/local/service.go
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package inmemory
+package local
 
 import (
 	"sort"
@@ -36,7 +36,7 @@ import (
 )
 
 func init() {
-	extension.SetLocalMetadataService(constant.DEFAULT_KEY, GetInMemoryMetadataService)
+	extension.SetLocalMetadataService(constant.DEFAULT_KEY, GetLocalMetadataService)
 }
 
 // version will be used by Version func
@@ -63,7 +63,7 @@ var (
 
 // NewMetadataService: initiate a metadata service
 // it should be singleton
-func GetInMemoryMetadataService() (service.MetadataService, error) {
+func GetLocalMetadataService() (service.MetadataService, error) {
 	metadataServiceInitOnce.Do(func() {
 		metadataServiceInstance = &MetadataService{
 			BaseMetadataService:   service.NewBaseMetadataService(config.GetApplicationConfig().Name),
diff --git a/metadata/service/inmemory/service_proxy.go b/metadata/service/local/service_proxy.go
similarity index 99%
rename from metadata/service/inmemory/service_proxy.go
rename to metadata/service/local/service_proxy.go
index 9e25d56..03c71aa 100644
--- a/metadata/service/inmemory/service_proxy.go
+++ b/metadata/service/local/service_proxy.go
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package inmemory
+package local
 
 import (
 	"context"
diff --git a/metadata/service/inmemory/service_proxy_test.go b/metadata/service/local/service_proxy_test.go
similarity index 99%
rename from metadata/service/inmemory/service_proxy_test.go
rename to metadata/service/local/service_proxy_test.go
index bc0f561..df2f5c1 100644
--- a/metadata/service/inmemory/service_proxy_test.go
+++ b/metadata/service/local/service_proxy_test.go
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package inmemory
+package local
 
 import (
 	"testing"
diff --git a/metadata/service/inmemory/service_test.go b/metadata/service/local/service_test.go
similarity index 98%
rename from metadata/service/inmemory/service_test.go
rename to metadata/service/local/service_test.go
index f234272..c3bcc50 100644
--- a/metadata/service/inmemory/service_test.go
+++ b/metadata/service/local/service_test.go
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package inmemory
+package local
 
 import (
 	"fmt"
@@ -32,7 +32,7 @@ import (
 )
 
 func TestMetadataService(t *testing.T) {
-	mts, _ := GetInMemoryMetadataService()
+	mts, _ := GetLocalMetadataService()
 	serviceName := "com.ikurento.user.UserProvider"
 	group := "group1"
 	version := "0.0.1"
diff --git a/metadata/service/service.go b/metadata/service/local_service.go
similarity index 100%
rename from metadata/service/service.go
rename to metadata/service/local_service.go
diff --git a/metadata/service/remoting/service.go b/metadata/service/remote/service.go
similarity index 87%
rename from metadata/service/remoting/service.go
rename to metadata/service/remote/service.go
index ed9e990..dfe9ec5 100644
--- a/metadata/service/remoting/service.go
+++ b/metadata/service/remote/service.go
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package remoting
+package remote
 
 import (
 	"sync"
@@ -34,28 +34,28 @@ import (
 	"dubbo.apache.org/dubbo-go/v3/metadata/identifier"
 	"dubbo.apache.org/dubbo-go/v3/metadata/report/delegate"
 	"dubbo.apache.org/dubbo-go/v3/metadata/service"
-	"dubbo.apache.org/dubbo-go/v3/metadata/service/inmemory"
+	"dubbo.apache.org/dubbo-go/v3/metadata/service/local"
 	"dubbo.apache.org/dubbo-go/v3/registry"
 )
 
 type MetadataService struct {
-	*inmemory.MetadataService
+	*local.MetadataService
 	exportedRevision   atomic.String
 	subscribedRevision atomic.String
 	delegateReport     *delegate.MetadataReport
 }
 
 var (
-	metadataServiceOnce             sync.Once
-	remotingMetadataServiceInstance service.RemotingMetadataService
+	metadataServiceOnce           sync.Once
+	remoteMetadataServiceInstance service.RemoteMetadataService
 )
 
 func init() {
-	extension.SetRemotingMetadataService(GetRemotingMetadataService)
+	extension.SetRemoteMetadataService(GetRemoteMetadataService)
 }
 
-// GetRemotingMetadataService will create a new remote MetadataService instance
-func GetRemotingMetadataService() (service.RemotingMetadataService, error) {
+// GetRemoteMetadataService will create a new remote MetadataService instance
+func GetRemoteMetadataService() (service.RemoteMetadataService, error) {
 	var err error
 	metadataServiceOnce.Do(func() {
 		var mr *delegate.MetadataReport
@@ -64,15 +64,15 @@ func GetRemotingMetadataService() (service.RemotingMetadataService, error) {
 			return
 		}
 		// it will never return error
-		inms, _ := inmemory.GetInMemoryMetadataService()
-		remotingMetadataServiceInstance = &MetadataService{
+		inms, _ := local.GetLocalMetadataService()
+		remoteMetadataServiceInstance = &MetadataService{
 			// todo serviceName
 			//BaseMetadataService:     service.NewBaseMetadataService(""),
-			MetadataService: inms.(*inmemory.MetadataService),
+			MetadataService: inms.(*local.MetadataService),
 			delegateReport:  mr,
 		}
 	})
-	return remotingMetadataServiceInstance, err
+	return remoteMetadataServiceInstance, err
 }
 
 // PublishMetadata publishes the metadata info of @service to remote metadata center
diff --git a/metadata/service/remoting/service_test.go b/metadata/service/remote/service_test.go
similarity index 96%
rename from metadata/service/remoting/service_test.go
rename to metadata/service/remote/service_test.go
index a493214..938a860 100644
--- a/metadata/service/remoting/service_test.go
+++ b/metadata/service/remote/service_test.go
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package remoting
+package remote
 
 import (
 	"fmt"
@@ -35,7 +35,7 @@ import (
 	"dubbo.apache.org/dubbo-go/v3/metadata/identifier"
 	"dubbo.apache.org/dubbo-go/v3/metadata/report"
 	"dubbo.apache.org/dubbo-go/v3/metadata/report/factory"
-	"dubbo.apache.org/dubbo-go/v3/metadata/service/inmemory"
+	"dubbo.apache.org/dubbo-go/v3/metadata/service/local"
 )
 
 var (
@@ -104,13 +104,13 @@ func TestMetadataService(t *testing.T) {
 	u, err := common.NewURL("mock://127.0.0.1:20000/?sync.report=true")
 	assert.NoError(t, err)
 	instance.GetMetadataReportInstance(u)
-	mts, err := GetRemotingMetadataService()
+	mts, err := GetRemoteMetadataService()
 	assert.NoError(t, err)
 	assert.NotNil(t, mts)
 }
 
 func TestMockInmemoryProc(t *testing.T) {
-	mts, _ := inmemory.GetInMemoryMetadataService()
+	mts, _ := local.GetLocalMetadataService()
 	serviceName := "com.ikurento.user.UserProvider"
 	group := "group1"
 	version := "0.0.1"
diff --git a/metadata/service/remoting_service.go b/metadata/service/remote_service.go
similarity index 96%
rename from metadata/service/remoting_service.go
rename to metadata/service/remote_service.go
index ec7653c..95bf068 100644
--- a/metadata/service/remoting_service.go
+++ b/metadata/service/remote_service.go
@@ -22,7 +22,7 @@ import (
 	"dubbo.apache.org/dubbo-go/v3/registry"
 )
 
-type RemotingMetadataService interface {
+type RemoteMetadataService interface {
 	// PublishMetadata publish the medata info of service from report
 	PublishMetadata(service string)
 	// GetMetadata get the medata info of service from report
diff --git a/registry/event/event_publishing_service_deiscovery_test.go b/registry/event/event_publishing_service_deiscovery_test.go
index a126233..13983b1 100644
--- a/registry/event/event_publishing_service_deiscovery_test.go
+++ b/registry/event/event_publishing_service_deiscovery_test.go
@@ -35,12 +35,12 @@ import (
 	"dubbo.apache.org/dubbo-go/v3/common/observer/dispatcher"
 	"dubbo.apache.org/dubbo-go/v3/config"
 	"dubbo.apache.org/dubbo-go/v3/metadata/mapping"
-	_ "dubbo.apache.org/dubbo-go/v3/metadata/service/inmemory"
+	_ "dubbo.apache.org/dubbo-go/v3/metadata/service/local"
 	"dubbo.apache.org/dubbo-go/v3/registry"
 )
 
 func TestEventPublishingServiceDiscovery_DispatchEvent(t *testing.T) {
-	// extension.SetMetadataService("local", inmemory.NewMetadataService)
+	// extension.SetMetadataService("local", local.NewMetadataService)
 
 	config.GetApplicationConfig().MetadataType = "local"
 
diff --git a/registry/event/event_publishing_service_discovery.go b/registry/event/event_publishing_service_discovery.go
index 0c5d9a2..b360dab 100644
--- a/registry/event/event_publishing_service_discovery.go
+++ b/registry/event/event_publishing_service_discovery.go
@@ -26,7 +26,7 @@ import (
 	"dubbo.apache.org/dubbo-go/v3/common/extension"
 	"dubbo.apache.org/dubbo-go/v3/common/observer"
 	"dubbo.apache.org/dubbo-go/v3/metadata/service"
-	"dubbo.apache.org/dubbo-go/v3/metadata/service/inmemory"
+	"dubbo.apache.org/dubbo-go/v3/metadata/service/local"
 	"dubbo.apache.org/dubbo-go/v3/registry"
 )
 
@@ -152,5 +152,5 @@ func (epsd *EventPublishingServiceDiscovery) executeWithEvents(beforeEvent obser
 
 // getMetadataService returns metadata service instance
 func getMetadataService() (service.MetadataService, error) {
-	return inmemory.GetInMemoryMetadataService()
+	return local.GetLocalMetadataService()
 }
diff --git a/registry/event/service_instances_changed_listener_impl.go b/registry/event/service_instances_changed_listener_impl.go
index cd1993c..6d6ab00 100644
--- a/registry/event/service_instances_changed_listener_impl.go
+++ b/registry/event/service_instances_changed_listener_impl.go
@@ -151,7 +151,7 @@ func (lstn *ServiceInstancesChangedListenerImpl) getMetadataInfo(instance regist
 		metadataStorageType = instance.GetMetadata()[constant.METADATA_STORAGE_TYPE_PROPERTY_NAME]
 	}
 	if metadataStorageType == constant.REMOTE_METADATA_STORAGE_TYPE {
-		remoteMetadataServiceImpl, err := extension.GetRemotingMetadataService()
+		remoteMetadataServiceImpl, err := extension.GetRemoteMetadataService()
 		if err != nil {
 			return nil, err
 		}
diff --git a/registry/servicediscovery/service_discovery_registry.go b/registry/servicediscovery/service_discovery_registry.go
index 5ab1642..1feb8f1 100644
--- a/registry/servicediscovery/service_discovery_registry.go
+++ b/registry/servicediscovery/service_discovery_registry.go
@@ -38,7 +38,7 @@ import (
 	"dubbo.apache.org/dubbo-go/v3/metadata/mapping"
 	"dubbo.apache.org/dubbo-go/v3/metadata/service"
 	"dubbo.apache.org/dubbo-go/v3/metadata/service/exporter/configurable"
-	"dubbo.apache.org/dubbo-go/v3/metadata/service/inmemory"
+	"dubbo.apache.org/dubbo-go/v3/metadata/service/local"
 	"dubbo.apache.org/dubbo-go/v3/registry"
 	"dubbo.apache.org/dubbo-go/v3/registry/event"
 	"dubbo.apache.org/dubbo-go/v3/registry/servicediscovery/synthesizer"
@@ -81,7 +81,7 @@ func newServiceDiscoveryRegistry(url *common.URL) (registry.Registry, error) {
 	subscribedServices := parseServices(url.GetParam(constant.SUBSCRIBED_SERVICE_NAMES_KEY, ""))
 	subscribedURLsSynthesizers := synthesizer.GetAllSynthesizer()
 	serviceNameMapping := extension.GetGlobalServiceNameMapping()
-	metaDataService, err := inmemory.GetInMemoryMetadataService()
+	metaDataService, err := local.GetLocalMetadataService()
 	if err != nil {
 		return nil, perrors.WithMessage(err, "could not init metadata service")
 	}
@@ -330,7 +330,7 @@ var (
 // TODO (move to somewhere)
 func tryInitMetadataService(url *common.URL) {
 
-	ms, err := inmemory.GetInMemoryMetadataService()
+	ms, err := local.GetLocalMetadataService()
 	if err != nil {
 		logger.Errorf("could not init metadata service", err)
 	}