Skip to content

llightos/efind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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