增加etcd初始化
This commit is contained in:
parent
154962fb73
commit
ca802781d6
26
middleware/etcd/define.go
Normal file
26
middleware/etcd/define.go
Normal file
@ -0,0 +1,26 @@
|
||||
// Package etcd...
|
||||
//
|
||||
// Description : etcd...
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 2021-11-23 11:25 上午
|
||||
package etcd
|
||||
|
||||
import (
|
||||
"math"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
// DefaultDialTimeout 默认超时时间
|
||||
DefaultDialTimeout = 5 * time.Second
|
||||
// DefaultDialKeepAliveTime 默认ping时间
|
||||
DefaultDialKeepAliveTime = 3 * time.Second
|
||||
// DefaultDialKeepAliveTimeout ping之后等待响应的超时时间, 超时未响应, 连接将会断开
|
||||
DefaultDialKeepAliveTimeout = 5 * time.Second
|
||||
// DefaultMaxCallSendMsgSize 客户端请求体最大字节数, 默认 2M , 和etcd默认值保持一致
|
||||
DefaultMaxCallSendMsgSize = 2 * 1024 * 1024
|
||||
// DefaultMaxCallRecvMsgSize 客户端接受的响应题最大大小, 默认int32最大值, 和etcd默认值保持一致
|
||||
DefaultMaxCallRecvMsgSize = math.MaxInt32
|
||||
)
|
59
middleware/etcd/init.go
Normal file
59
middleware/etcd/init.go
Normal file
@ -0,0 +1,59 @@
|
||||
// Package etcd ...
|
||||
//
|
||||
// Description : etcd ...
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 2021-11-23 10:53 上午
|
||||
package etcd
|
||||
|
||||
import (
|
||||
"github.com/pkg/errors"
|
||||
"go.etcd.io/etcd/clientv3"
|
||||
)
|
||||
|
||||
var (
|
||||
// Client 客户端
|
||||
Client *clientv3.Client
|
||||
)
|
||||
|
||||
// InitEtcdClient 初始化etcd连接
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 10:53 上午 2021/11/23
|
||||
func InitEtcdClient(cfg clientv3.Config) error {
|
||||
if nil == cfg.Endpoints || len(cfg.Endpoints) == 0 {
|
||||
return errors.New("endpoints is empty")
|
||||
}
|
||||
|
||||
// 连接超时
|
||||
if cfg.DialTimeout == 0 {
|
||||
cfg.DialTimeout = DefaultDialTimeout
|
||||
}
|
||||
|
||||
// ping 时间间隔
|
||||
if cfg.DialKeepAliveTime == 0 {
|
||||
cfg.DialKeepAliveTime = DefaultDialKeepAliveTime
|
||||
}
|
||||
|
||||
// ping 响应超时时间
|
||||
if cfg.DialKeepAliveTimeout == 0 {
|
||||
cfg.DialKeepAliveTimeout = DefaultDialKeepAliveTimeout
|
||||
}
|
||||
|
||||
// 客户端发送的最大请求体大小
|
||||
if cfg.MaxCallSendMsgSize <= 0 {
|
||||
cfg.MaxCallSendMsgSize = DefaultMaxCallSendMsgSize
|
||||
}
|
||||
|
||||
// 客户端接受的最大响应体大小
|
||||
if cfg.MaxCallRecvMsgSize <= 0 {
|
||||
cfg.MaxCallRecvMsgSize = DefaultMaxCallRecvMsgSize
|
||||
}
|
||||
var err error
|
||||
if Client, err = clientv3.New(cfg); nil != err {
|
||||
return errors.New("etcd连接失败 : " + err.Error())
|
||||
}
|
||||
return nil
|
||||
}
|
Loading…
Reference in New Issue
Block a user