diff --git a/protocol/dubbo/client.go b/protocol/dubbo/client.go index 4927f51cf7c964ac9bb26c1089231b4bdcc65157..03ab70467680e6b4c02da52071729e02200f65fc 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 1ac3c9ad97ec34319c7728555e56cdfb3d038ba7..5371c587478ce7d064858108055c3f00f3ff4496 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: 200, + QueueLen: 64, + QueueNumber: 10, + GettySessionParam: GettySessionParam{ + CompressEncoding: false, + TcpNoDelay: true, + TcpKeepAlive: true, + KeepAlivePeriod: "120s", + TcpRBufSize: 262144, + TcpWBufSize: 65536, + PkgWQSize: 512, + TcpReadTimeout: "1s", + TcpWriteTimeout: "5s", + WaitTimeout: "1s", + MaxMsgLen: 102400, + 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: 102400, + SessionName: "server", + }, + } +} + func (c *GettySessionParam) CheckValidity() error { var err error diff --git a/protocol/dubbo/server.go b/protocol/dubbo/server.go index 5f93a794d253bb8a0af3dae42ea7aa627751bbdb..648c9f8aa8d24a321bfda85279a6470c745dbfa1 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() }