You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by la...@apache.org on 2021/08/21 07:10:23 UTC

[dubbo-go] branch config-enhance updated: fix: prepare to refactor samples (#1407)

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

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


The following commit(s) were added to refs/heads/config-enhance by this push:
     new 8cb9393  fix: prepare to refactor samples (#1407)
8cb9393 is described below

commit 8cb93935d529edcfb3c52c54da6db5d493ca0aa0
Author: Laurence <45...@users.noreply.github.com>
AuthorDate: Sat Aug 21 15:10:19 2021 +0800

    fix: prepare to refactor samples (#1407)
---
 config/protocol_config.go            |  2 +-
 config/provider_config.go            |  2 +-
 imports/imports.go                   | 32 ++++++++++++++++++++++++++++++++
 protocol/grpc/client.go              | 10 ++++++----
 protocol/jsonrpc/jsonrpc_protocol.go | 10 +++++-----
 protocol/rest/rest_protocol.go       | 10 ++++++----
 6 files changed, 51 insertions(+), 15 deletions(-)

diff --git a/config/protocol_config.go b/config/protocol_config.go
index 166449b..798ff1e 100644
--- a/config/protocol_config.go
+++ b/config/protocol_config.go
@@ -28,7 +28,7 @@ import (
 // ProtocolConfig is protocol configuration
 type ProtocolConfig struct {
 	Name string `default:"dubbo" validate:"required" yaml:"name" json:"name,omitempty" property:"name"`
-	Ip   string `default:"127.0.0.1" yaml:"ip"  json:"ip,omitempty" property:"ip"`
+	Ip   string `yaml:"ip"  json:"ip,omitempty" property:"ip"`
 	Port string `default:"2000" yaml:"port" json:"port,omitempty" property:"port"`
 }
 
diff --git a/config/provider_config.go b/config/provider_config.go
index 0632cb8..fac9edd 100644
--- a/config/provider_config.go
+++ b/config/provider_config.go
@@ -97,7 +97,7 @@ func (c *ProviderConfig) Prefix() string {
 }
 
 func (c *ProviderConfig) Load() {
-	
+
 	for key, svs := range c.Services {
 		rpcService := GetProviderService(key)
 		if rpcService == nil {
diff --git a/imports/imports.go b/imports/imports.go
new file mode 100644
index 0000000..d093efc
--- /dev/null
+++ b/imports/imports.go
@@ -0,0 +1,32 @@
+package imports
+
+import (
+	_ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
+	_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
+
+	_ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
+
+	_ "dubbo.apache.org/dubbo-go/v3/config_center/apollo"
+	_ "dubbo.apache.org/dubbo-go/v3/config_center/nacos"
+	_ "dubbo.apache.org/dubbo-go/v3/config_center/zookeeper"
+
+	_ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
+
+	_ "dubbo.apache.org/dubbo-go/v3/metadata/report/etcd"
+	_ "dubbo.apache.org/dubbo-go/v3/metadata/report/nacos"
+	_ "dubbo.apache.org/dubbo-go/v3/metadata/report/zookeeper"
+	_ "dubbo.apache.org/dubbo-go/v3/metadata/service/local"
+	_ "dubbo.apache.org/dubbo-go/v3/metadata/service/remote"
+
+	_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
+	_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
+	_ "dubbo.apache.org/dubbo-go/v3/protocol/grpc"
+	_ "dubbo.apache.org/dubbo-go/v3/protocol/jsonrpc"
+	_ "dubbo.apache.org/dubbo-go/v3/protocol/rest"
+
+	_ "dubbo.apache.org/dubbo-go/v3/registry/etcdv3"
+	_ "dubbo.apache.org/dubbo-go/v3/registry/nacos"
+	_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
+	_ "dubbo.apache.org/dubbo-go/v3/registry/servicediscovery"
+	_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+)
diff --git a/protocol/grpc/client.go b/protocol/grpc/client.go
index 84d812d..bf9e5b9 100644
--- a/protocol/grpc/client.go
+++ b/protocol/grpc/client.go
@@ -20,6 +20,7 @@ package grpc
 import (
 	"reflect"
 	"strconv"
+	"time"
 )
 
 import (
@@ -59,12 +60,12 @@ func init() {
 	if rootConfig.Application == nil {
 		return
 	}
-	protocolConf := config.GetConsumerConfig().ProtocolConf
+	protocolConf := config.GetRootConfig().Protocols
 
 	if protocolConf == nil {
 		logger.Info("protocol_conf default use dubbo config")
 	} else {
-		grpcConf := protocolConf.(map[interface{}]interface{})[GRPC]
+		grpcConf := protocolConf[GRPC]
 		if grpcConf == nil {
 			logger.Warnf("grpcConf is nil")
 			return
@@ -95,12 +96,13 @@ func NewClient(url *common.URL) (*Client, error) {
 	maxMessageSize, _ := strconv.Atoi(url.GetParam(constant.MESSAGE_SIZE_KEY, "4"))
 
 	// consumer config client connectTimeout
-	connectTimeout := config.GetConsumerConfig().ConnectTimeout
+	//connectTimeout := config.GetConsumerConfig().ConnectTimeout
 
 	dialOpts = append(dialOpts,
 		grpc.WithInsecure(),
 		grpc.WithBlock(),
-		grpc.WithTimeout(connectTimeout),
+		// todo config network timeout
+		grpc.WithTimeout(time.Second*3),
 		grpc.WithUnaryInterceptor(otgrpc.OpenTracingClientInterceptor(tracer, otgrpc.LogPayloads())),
 		grpc.WithStreamInterceptor(otgrpc.OpenTracingStreamClientInterceptor(tracer, otgrpc.LogPayloads())),
 		grpc.WithDefaultCallOptions(
diff --git a/protocol/jsonrpc/jsonrpc_protocol.go b/protocol/jsonrpc/jsonrpc_protocol.go
index 2792733..6a2f899 100644
--- a/protocol/jsonrpc/jsonrpc_protocol.go
+++ b/protocol/jsonrpc/jsonrpc_protocol.go
@@ -25,10 +25,8 @@ import (
 
 import (
 	"dubbo.apache.org/dubbo-go/v3/common"
-	"dubbo.apache.org/dubbo-go/v3/common/constant"
 	"dubbo.apache.org/dubbo-go/v3/common/extension"
 	"dubbo.apache.org/dubbo-go/v3/common/logger"
-	"dubbo.apache.org/dubbo-go/v3/config"
 	"dubbo.apache.org/dubbo-go/v3/protocol"
 )
 
@@ -77,15 +75,17 @@ func (jp *JsonrpcProtocol) Export(invoker protocol.Invoker) protocol.Exporter {
 // Refer a remote JSON PRC service from registry
 func (jp *JsonrpcProtocol) Refer(url *common.URL) protocol.Invoker {
 	// default requestTimeout
-	requestTimeout := config.GetConsumerConfig().RequestTimeout
+	// todo config timeout
+	requestTimeout := time.Duration(3 * time.Second) //config.GetConsumerConfig().RequestTimeout
 
-	requestTimeoutStr := url.GetParam(constant.TIMEOUT_KEY, config.GetConsumerConfig().Request_Timeout)
+	// todo config timeout
+	requestTimeoutStr := "3s" //url.GetParam(constant.TIMEOUT_KEY, config.GetConsumerConfig().Request_Timeout)
 	if t, err := time.ParseDuration(requestTimeoutStr); err == nil {
 		requestTimeout = t
 	}
 
 	invoker := NewJsonrpcInvoker(url, NewHTTPClient(&HTTPOptions{
-		HandshakeTimeout: config.GetConsumerConfig().ConnectTimeout,
+		HandshakeTimeout: time.Second, // todo config timeout config.GetConsumerConfig().ConnectTimeout,
 		HTTPTimeout:      requestTimeout,
 	}))
 	jp.SetInvokers(invoker)
diff --git a/protocol/rest/rest_protocol.go b/protocol/rest/rest_protocol.go
index d0046a2..476a9fe 100644
--- a/protocol/rest/rest_protocol.go
+++ b/protocol/rest/rest_protocol.go
@@ -27,7 +27,6 @@ import (
 	"dubbo.apache.org/dubbo-go/v3/common/constant"
 	"dubbo.apache.org/dubbo-go/v3/common/extension"
 	"dubbo.apache.org/dubbo-go/v3/common/logger"
-	"dubbo.apache.org/dubbo-go/v3/config"
 	"dubbo.apache.org/dubbo-go/v3/protocol"
 	"dubbo.apache.org/dubbo-go/v3/protocol/rest/client"
 	_ "dubbo.apache.org/dubbo-go/v3/protocol/rest/client/client_impl"
@@ -86,9 +85,12 @@ func (rp *RestProtocol) Export(invoker protocol.Invoker) protocol.Exporter {
 // Refer create rest service reference
 func (rp *RestProtocol) Refer(url *common.URL) protocol.Invoker {
 	// create rest_invoker
-	requestTimeout := config.GetConsumerConfig().RequestTimeout
-	requestTimeoutStr := url.GetParam(constant.TIMEOUT_KEY, config.GetConsumerConfig().Request_Timeout)
-	connectTimeout := config.GetConsumerConfig().ConnectTimeout
+	// todo fix timeout config
+	// start
+	requestTimeout := time.Duration(3 * time.Second)
+	requestTimeoutStr := url.GetParam(constant.TIMEOUT_KEY, "3s")
+	connectTimeout := requestTimeout // config.GetConsumerConfig().ConnectTimeout
+	// end
 	if t, err := time.ParseDuration(requestTimeoutStr); err == nil {
 		requestTimeout = t
 	}