etcd

package
v1.5.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2023 License: Apache-2.0 Imports: 13 Imported by: 1

README

etcd

对业内的etcd客户端进行配置化封装,用于简化获取

全部配置

base:
  etcd:
    # etcd的服务ip:port列表   
    endpoints:
      - 10.10.10.10:2379
      - 10.10.10.11:2379
    # 用户
    username: userxxx
    # 密码
    password: xxxxx
    # 自动同步间隔:是用其最新成员更新端点的间隔;默认为0,即禁用自动同步;配置示例:1s、1000ms
    auto-sync-interval: 5s
    # 拨号超时:是指连接失败后的超时时间;配置示例:1s、1000ms
    dial-timeout: 5s
    # 拨号保持连接时间:是客户端ping服务器以查看传输是否连接的时间;配置示例:1s、1000ms
    dial-keep-alive-time: 5s
    # 拨号保持连接超时:是客户端等待响应保持连接探测的时间,如果在此时间内没有收到响应,则连接将被关闭;配置示例:1s、1000ms
    dial-keep-alive-timeout: 5s
    # 拨号重试策略: 默认为空:表示默认不重试;1、2、3...表示重试多少次;always:表示一直重试
    dial-retry: 1
    # 最大呼叫:发送MSG大小是客户端请求发送的字节限制;默认:(2MB)2 * 1024 * 1024
    max-call-send-msg-size: 2 * 1024 * 1024
    # 最大调用recv MSG大小是客户端响应接收限制;默认:math.MaxInt32
    max-call-recv-msg-size: 10000000
    # 当设置拒绝旧集群时,将拒绝在过时的集群上创建客户端
    reject-old-cluster: false
    # 设置允许无流时将允许客户端发送keepalive ping到服务器没有任何活动流rp cs
    permit-without-stream: false

提供etcd的client获取api NewEtcdClient

func Test1(t *testing.T) {
    etcdClient, _ := etcd.NewEtcdClient()

    ctx := context.Background()
    etcdClient.Put(ctx, "gobase.k1", "testValue")
    rsp, _ := etcdClient.Get(ctx, "gobase.k1")
}
示例

配置示例

base:
  etcd:
    # 是否启用etcd
    enable: true
    # etcd的服务ip:port列表
    endpoints:
      - 10.10.10.10:2379
    # 用户
    username: xxx
    # 密码
    password: xxx
    # 拨号超时:是指连接失败后的超时时间;配置示例:1s、1000ms
    dial-timeout: 5s

代码示例

func Test1(t *testing.T) {
    etcdClient, _ := etcd.NewEtcdClient()
    
    ctx := context.Background()
    etcdClient.Put(ctx, "gobase.k1", "testValue")
    rsp, _ := etcdClient.Get(ctx, "gobase.k1")
}

Documentation

Index

Constants

This section is empty.

Variables

View Source
var EtcdHooks []GobaseEtcdHook

Functions

func AddEtcdHook

func AddEtcdHook(hook GobaseEtcdHook)

Types

type EtcdClientWrap

type EtcdClientWrap struct {
	*etcdClientV3.Client
	// contains filtered or unexported fields
}

func NewEtcdClient

func NewEtcdClient() (*EtcdClientWrap, error)

func NewEtcdClientWithCfg

func NewEtcdClientWithCfg(etcdCfg etcdClientV3.Config) (*EtcdClientWrap, error)

func (*EtcdClientWrap) ActiveConnection

func (etcdWrap *EtcdClientWrap) ActiveConnection() *grpc.ClientConn

func (*EtcdClientWrap) AddHook

func (etcdWrap *EtcdClientWrap) AddHook(etcdHook GobaseEtcdHook)

func (*EtcdClientWrap) AlarmDisarm

func (*EtcdClientWrap) AlarmList

func (etcdWrap *EtcdClientWrap) AlarmList(ctx context.Context) (*etcdClientV3.AlarmResponse, error)

func (*EtcdClientWrap) AuthDisable

func (etcdWrap *EtcdClientWrap) AuthDisable(ctx context.Context) (*etcdClientV3.AuthDisableResponse, error)

func (*EtcdClientWrap) AuthEnable

func (etcdWrap *EtcdClientWrap) AuthEnable(ctx context.Context) (*etcdClientV3.AuthEnableResponse, error)

func (*EtcdClientWrap) AuthStatus

func (etcdWrap *EtcdClientWrap) AuthStatus(ctx context.Context) (*etcdClientV3.AuthStatusResponse, error)

func (*EtcdClientWrap) Authenticate

func (etcdWrap *EtcdClientWrap) Authenticate(ctx context.Context, name string, password string) (*etcdClientV3.AuthenticateResponse, error)

func (*EtcdClientWrap) Close

func (etcdWrap *EtcdClientWrap) Close() error

func (*EtcdClientWrap) Compact

func (*EtcdClientWrap) Ctx

func (etcdWrap *EtcdClientWrap) Ctx() context.Context

func (*EtcdClientWrap) Defragment

func (etcdWrap *EtcdClientWrap) Defragment(ctx context.Context, endpoint string) (*etcdClientV3.DefragmentResponse, error)

func (*EtcdClientWrap) Delete

func (etcdWrap *EtcdClientWrap) Delete(ctx context.Context, key string, opts ...etcdClientV3.OpOption) (*etcdClientV3.DeleteResponse, error)

func (*EtcdClientWrap) Dial

func (etcdWrap *EtcdClientWrap) Dial(ep string) (*grpc.ClientConn, error)

func (*EtcdClientWrap) Do

func (*EtcdClientWrap) Endpoints

func (etcdWrap *EtcdClientWrap) Endpoints() []string

func (*EtcdClientWrap) Get

func (*EtcdClientWrap) GetLogger

func (etcdWrap *EtcdClientWrap) GetLogger() *zap.Logger

func (*EtcdClientWrap) Grant

func (*EtcdClientWrap) HashKV

func (etcdWrap *EtcdClientWrap) HashKV(ctx context.Context, endpoint string, rev int64) (*etcdClientV3.HashKVResponse, error)

func (*EtcdClientWrap) KeepAlive

func (*EtcdClientWrap) KeepAliveOnce

func (*EtcdClientWrap) Leases

func (*EtcdClientWrap) MemberAdd

func (etcdWrap *EtcdClientWrap) MemberAdd(ctx context.Context, peerAddrs []string) (*etcdClientV3.MemberAddResponse, error)

func (*EtcdClientWrap) MemberAddAsLearner

func (etcdWrap *EtcdClientWrap) MemberAddAsLearner(ctx context.Context, peerAddrs []string) (*etcdClientV3.MemberAddResponse, error)

func (*EtcdClientWrap) MemberList

func (etcdWrap *EtcdClientWrap) MemberList(ctx context.Context) (*etcdClientV3.MemberListResponse, error)

func (*EtcdClientWrap) MemberPromote

func (etcdWrap *EtcdClientWrap) MemberPromote(ctx context.Context, id uint64) (*etcdClientV3.MemberPromoteResponse, error)

func (*EtcdClientWrap) MemberRemove

func (etcdWrap *EtcdClientWrap) MemberRemove(ctx context.Context, id uint64) (*etcdClientV3.MemberRemoveResponse, error)

func (*EtcdClientWrap) MoveLeader

func (etcdWrap *EtcdClientWrap) MoveLeader(ctx context.Context, transfereeID uint64) (*etcdClientV3.MoveLeaderResponse, error)

func (*EtcdClientWrap) Put

func (etcdWrap *EtcdClientWrap) Put(ctx context.Context, key, val string, opts ...etcdClientV3.OpOption) (*etcdClientV3.PutResponse, error)

func (*EtcdClientWrap) RequestProgress

func (etcdWrap *EtcdClientWrap) RequestProgress(ctx context.Context) error

func (*EtcdClientWrap) Revoke

func (*EtcdClientWrap) RoleAdd

func (etcdWrap *EtcdClientWrap) RoleAdd(ctx context.Context, name string) (*etcdClientV3.AuthRoleAddResponse, error)

func (*EtcdClientWrap) RoleDelete

func (etcdWrap *EtcdClientWrap) RoleDelete(ctx context.Context, role string) (*etcdClientV3.AuthRoleDeleteResponse, error)

func (*EtcdClientWrap) RoleGet

func (etcdWrap *EtcdClientWrap) RoleGet(ctx context.Context, role string) (*etcdClientV3.AuthRoleGetResponse, error)

func (*EtcdClientWrap) RoleGrantPermission

func (etcdWrap *EtcdClientWrap) RoleGrantPermission(ctx context.Context, name string, key, rangeEnd string, permType etcdClientV3.PermissionType) (*etcdClientV3.AuthRoleGrantPermissionResponse, error)

func (*EtcdClientWrap) RoleList

func (*EtcdClientWrap) RoleRevokePermission

func (etcdWrap *EtcdClientWrap) RoleRevokePermission(ctx context.Context, role string, key, rangeEnd string) (*etcdClientV3.AuthRoleRevokePermissionResponse, error)

func (*EtcdClientWrap) SetEndpoints

func (etcdWrap *EtcdClientWrap) SetEndpoints(eps ...string)

func (*EtcdClientWrap) Snapshot

func (etcdWrap *EtcdClientWrap) Snapshot(ctx context.Context) (io.ReadCloser, error)

func (*EtcdClientWrap) Status

func (etcdWrap *EtcdClientWrap) Status(ctx context.Context, endpoint string) (*etcdClientV3.StatusResponse, error)

func (*EtcdClientWrap) Sync

func (etcdWrap *EtcdClientWrap) Sync(ctx context.Context) error

func (*EtcdClientWrap) TimeToLive

func (*EtcdClientWrap) Txn

func (etcdWrap *EtcdClientWrap) Txn(ctx context.Context) etcdClientV3.Txn

func (*EtcdClientWrap) UserAdd

func (etcdWrap *EtcdClientWrap) UserAdd(ctx context.Context, name string, password string) (*etcdClientV3.AuthUserAddResponse, error)

func (*EtcdClientWrap) UserAddWithOptions

func (etcdWrap *EtcdClientWrap) UserAddWithOptions(ctx context.Context, name string, password string, opt *etcdClientV3.UserAddOptions) (*etcdClientV3.AuthUserAddResponse, error)

func (*EtcdClientWrap) UserChangePassword

func (etcdWrap *EtcdClientWrap) UserChangePassword(ctx context.Context, name string, password string) (*etcdClientV3.AuthUserChangePasswordResponse, error)

func (*EtcdClientWrap) UserDelete

func (etcdWrap *EtcdClientWrap) UserDelete(ctx context.Context, name string) (*etcdClientV3.AuthUserDeleteResponse, error)

func (*EtcdClientWrap) UserGet

func (etcdWrap *EtcdClientWrap) UserGet(ctx context.Context, name string) (*etcdClientV3.AuthUserGetResponse, error)

func (*EtcdClientWrap) UserGrantRole

func (etcdWrap *EtcdClientWrap) UserGrantRole(ctx context.Context, user string, role string) (*etcdClientV3.AuthUserGrantRoleResponse, error)

func (*EtcdClientWrap) UserList

func (*EtcdClientWrap) UserRevokeRole

func (etcdWrap *EtcdClientWrap) UserRevokeRole(ctx context.Context, name string, role string) (*etcdClientV3.AuthUserRevokeRoleResponse, error)

func (*EtcdClientWrap) Watch

func (etcdWrap *EtcdClientWrap) Watch(ctx context.Context, key string, opts ...etcdClientV3.OpOption) etcdClientV3.WatchChan

func (*EtcdClientWrap) WithLogger

func (etcdWrap *EtcdClientWrap) WithLogger(lg *zap.Logger) *etcdClientV3.Client

type EtcdLogger

type EtcdLogger struct{}

func (*EtcdLogger) Error

func (g *EtcdLogger) Error(args ...interface{})

func (*EtcdLogger) ErrorDepth

func (g *EtcdLogger) ErrorDepth(depth int, args ...interface{})

func (*EtcdLogger) Errorf

func (g *EtcdLogger) Errorf(format string, args ...interface{})

func (*EtcdLogger) Errorln

func (g *EtcdLogger) Errorln(args ...interface{})

func (*EtcdLogger) Fatal

func (g *EtcdLogger) Fatal(args ...interface{})

func (*EtcdLogger) FatalDepth

func (g *EtcdLogger) FatalDepth(depth int, args ...interface{})

func (*EtcdLogger) Fatalf

func (g *EtcdLogger) Fatalf(format string, args ...interface{})

func (*EtcdLogger) Fatalln

func (g *EtcdLogger) Fatalln(args ...interface{})

func (*EtcdLogger) Info

func (g *EtcdLogger) Info(args ...interface{})

func (*EtcdLogger) InfoDepth

func (g *EtcdLogger) InfoDepth(depth int, args ...interface{})

func (*EtcdLogger) Infof

func (g *EtcdLogger) Infof(format string, args ...interface{})

func (*EtcdLogger) Infoln

func (g *EtcdLogger) Infoln(args ...interface{})

func (*EtcdLogger) V

func (g *EtcdLogger) V(l int) bool

func (*EtcdLogger) Warning

func (g *EtcdLogger) Warning(args ...interface{})

func (*EtcdLogger) WarningDepth

func (g *EtcdLogger) WarningDepth(depth int, args ...interface{})

func (*EtcdLogger) Warningf

func (g *EtcdLogger) Warningf(format string, args ...interface{})

func (*EtcdLogger) Warningln

func (g *EtcdLogger) Warningln(args ...interface{})

type GobaseEtcdHook

type GobaseEtcdHook interface {
	Before(ctx context.Context, op etcdClientV3.Op) context.Context
	After(ctx context.Context, op etcdClientV3.Op, pRsp any, err error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL