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
}