60 lines
1.2 KiB
Go
60 lines
1.2 KiB
Go
|
// 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
|
||
|
}
|