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)
}