Skip to content
/ efind Public

这是一个极简的基于go.etcd.io/etcd/client/v3的选举机制etcd

Notifications You must be signed in to change notification settings

llightos/efind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

baa280a · Jul 18, 2022

History

4 Commits
Jul 18, 2022
Jul 18, 2022
May 31, 2022
Jul 18, 2022
Jul 18, 2022
Jul 18, 2022
May 31, 2022
May 31, 2022
Jul 18, 2022

Repository files navigation

efind使用简介

efind用于快速对一个etcd节点进行配置,让子节点进行选举,目前暂不支持etcd集群

func New(){
//设置etcd节点名
	client := efind.NewClient(efind.Config{
		EtcdAddr: "127.0.0.1:2379",
		TTL:      5,
	})
    // 按照go.etcd.io/etcd/client/v3/concurrency包的安排,会先指定一个事件
	session, err := client.NewSession()
	if err != nil {
		log.Panicln(err)
		return
	}
    // 选举名和选举内容
	elect := session.NewElect("etcd/user1", *f)
	//fmt.Println("elect.ReturnLeader():", elect.ReturnLeader())
    // 打印当前选举目标的leader
	go elect.LogReturnLeader()
	fmt.Println("elect.Info()", elect.Info())
    // 阻塞进行选举
	err = elect.Campaign()
	if err != nil {
		log.Panicln(err)
		return
	}
    for{
        
    }
}

About

这是一个极简的基于go.etcd.io/etcd/client/v3的选举机制etcd

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages