From 006ba977602fc8de553dfc60def315e704242d0f Mon Sep 17 00:00:00 2001 From: justimkiss <justimkiss@126.com> Date: Mon, 23 Sep 2019 21:10:35 +0800 Subject: [PATCH] add protocol_conf default value --- go.mod | 2 ++ protocol/dubbo/client.go | 44 +++++++++++++++++----------------- protocol/dubbo/config.go | 51 ++++++++++++++++++++++++++++++++++++++++ protocol/dubbo/server.go | 45 ++++++++++++++++++----------------- 4 files changed, 100 insertions(+), 42 deletions(-) diff --git a/go.mod b/go.mod index 09948c93c..871c093c0 100644 --- a/go.mod +++ b/go.mod @@ -50,3 +50,5 @@ require ( google.golang.org/grpc v1.22.1 gopkg.in/yaml.v2 v2.2.2 ) + +go 1.13 diff --git a/protocol/dubbo/client.go b/protocol/dubbo/client.go index 4927f51cf..03ab70467 100644 --- a/protocol/dubbo/client.go +++ b/protocol/dubbo/client.go @@ -53,33 +53,35 @@ var ( func init() { // load clientconfig from consumer_config - protocolConf := config.GetConsumerConfig().ProtocolConf - if protocolConf == nil { - logger.Warnf("protocol_conf is nil") - return - } - dubboConf := protocolConf.(map[interface{}]interface{})[DUBBO] - if dubboConf == nil { - logger.Warnf("dubboConf is nil") + // default use dubbo + consumerConfig := config.GetConsumerConfig() + if consumerConfig.ApplicationConfig == nil { return } - - dubboConfByte, err := yaml.Marshal(dubboConf) - if err != nil { - panic(err) - } - conf := &ClientConfig{} - err = yaml.Unmarshal(dubboConfByte, conf) - if err != nil { - panic(err) + protocolConf := config.GetConsumerConfig().ProtocolConf + defaultClientConfig := GetDefaultClientConfig() + if protocolConf == nil { + logger.Info("protocol_conf default use dubbo config") + } else { + dubboConf := protocolConf.(map[interface{}]interface{})[DUBBO] + if dubboConf == nil { + logger.Warnf("dubboConf is nil") + return + } + dubboConfByte, err := yaml.Marshal(dubboConf) + if err != nil { + panic(err) + } + err = yaml.Unmarshal(dubboConfByte, &defaultClientConfig) + if err != nil { + panic(err) + } } - - if err := conf.CheckValidity(); err != nil { + clientConf = &defaultClientConfig + if err := clientConf.CheckValidity(); err != nil { logger.Warnf("[CheckValidity] error: %v", err) return } - - clientConf = conf setClientGrpool() } diff --git a/protocol/dubbo/config.go b/protocol/dubbo/config.go index 1ac3c9ad9..893a94e6c 100644 --- a/protocol/dubbo/config.go +++ b/protocol/dubbo/config.go @@ -90,6 +90,57 @@ type ( } ) +func GetDefaultClientConfig() ClientConfig { + return ClientConfig{ + ReconnectInterval: 0, + ConnectionNum: 16, + HeartbeatPeriod: "5s", + SessionTimeout: "20s", + PoolSize: 64, + PoolTTL: 600, + GrPoolSize: 1200, + QueueLen: 64, + QueueNumber: 60, + GettySessionParam: GettySessionParam{ + CompressEncoding: false, + TcpNoDelay: true, + TcpKeepAlive: true, + KeepAlivePeriod: "120s", + TcpRBufSize: 262144, + TcpWBufSize: 65536, + PkgWQSize: 512, + TcpReadTimeout: "1s", + TcpWriteTimeout: "5s", + WaitTimeout: "1s", + MaxMsgLen: 2014, + SessionName: "client", + }} +} + +func GetDefaultServerConfig() ServerConfig { + return ServerConfig{ + SessionTimeout: "20s", + SessionNumber: 700, + GrPoolSize: 120, + QueueNumber: 6, + QueueLen: 64, + GettySessionParam: GettySessionParam{ + CompressEncoding: false, + TcpNoDelay: true, + TcpKeepAlive: true, + KeepAlivePeriod: "120s", + TcpRBufSize: 262144, + TcpWBufSize: 65536, + PkgWQSize: 512, + TcpReadTimeout: "1s", + TcpWriteTimeout: "5s", + WaitTimeout: "1s", + MaxMsgLen: 1024, + SessionName: "server", + }, + } +} + func (c *GettySessionParam) CheckValidity() error { var err error diff --git a/protocol/dubbo/server.go b/protocol/dubbo/server.go index 5f93a794d..648c9f8aa 100644 --- a/protocol/dubbo/server.go +++ b/protocol/dubbo/server.go @@ -42,32 +42,35 @@ var ( func init() { // load clientconfig from provider_config - protocolConf := config.GetProviderConfig().ProtocolConf - if protocolConf == nil { - logger.Warnf("protocol_conf is nil") - return - } - dubboConf := protocolConf.(map[interface{}]interface{})[DUBBO] - if dubboConf == nil { - logger.Warnf("dubboConf is nil") + // default use dubbo + providerConfig := config.GetProviderConfig() + if providerConfig.ApplicationConfig == nil { return } - - dubboConfByte, err := yaml.Marshal(dubboConf) - if err != nil { - panic(err) - } - conf := &ServerConfig{} - err = yaml.Unmarshal(dubboConfByte, conf) - if err != nil { - panic(err) + protocolConf := providerConfig.ProtocolConf + defaultServerConfig := GetDefaultServerConfig() + if protocolConf == nil { + logger.Info("protocol_conf default use dubbo config") + } else { + dubboConf := protocolConf.(map[interface{}]interface{})[DUBBO] + if dubboConf == nil { + logger.Warnf("dubboConf is nil") + return + } + + dubboConfByte, err := yaml.Marshal(dubboConf) + if err != nil { + panic(err) + } + err = yaml.Unmarshal(dubboConfByte, &defaultServerConfig) + if err != nil { + panic(err) + } } - - if err := conf.CheckValidity(); err != nil { + srvConf = &defaultServerConfig + if err := srvConf.CheckValidity(); err != nil { panic(err) } - - srvConf = conf SetServerGrpool() } -- GitLab