Initial commit
This commit is contained in:
39
gfetcd/config.go
Normal file
39
gfetcd/config.go
Normal file
@@ -0,0 +1,39 @@
|
||||
package gfetcd
|
||||
|
||||
import (
|
||||
"path"
|
||||
"time"
|
||||
|
||||
"github.com/coreos/etcd/clientv3"
|
||||
)
|
||||
|
||||
const (
|
||||
DEFAULT_DIAL_TIMEOUT = time.Second * 5
|
||||
DEFAULT_LEASE_TTL = 5
|
||||
)
|
||||
|
||||
// 基础配置,公共字段
|
||||
type BasicConfig struct {
|
||||
DialTimeout int `toml:"dial_timeout"` // 连接超时时间
|
||||
EndPoints []string `toml:"endpoints"` // etcd的地址
|
||||
Prefix string `toml:"prefix"` // etcd服务的路径前缀,区分环境用
|
||||
Debug bool `toml:"debug"` // 使用debug模式
|
||||
}
|
||||
|
||||
func etcdDial(cfg *BasicConfig) (*clientv3.Client, error) {
|
||||
dialTimeout := DEFAULT_DIAL_TIMEOUT
|
||||
if cfg.DialTimeout > 0 {
|
||||
dialTimeout = time.Duration(cfg.DialTimeout) * time.Second
|
||||
}
|
||||
|
||||
return clientv3.New(clientv3.Config{
|
||||
Endpoints: cfg.EndPoints,
|
||||
DialTimeout: dialTimeout,
|
||||
DialKeepAliveTime: 2 * time.Second,
|
||||
DialKeepAliveTimeout: 2 * time.Second,
|
||||
})
|
||||
}
|
||||
|
||||
func ServiceKey(opts ...string) string {
|
||||
return path.Join(opts...)
|
||||
}
|
||||
Reference in New Issue
Block a user