zookeeper是一个分布式协调服务
zookeeper服务器的角色
zookeeper服务器的状态
术语介绍
myid
myid就是服务器的id。在配置文件中“server.id=host:port:port”,其中“server.”后面的就是myid。例如:
ticktime=2000 datadir=/var/lib/zookeeper/ clientport=2181 initlimit=5 synclimit=2 server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
zxid
类似关系型数据库中的事务id,用于标识一次更新操作。zxid是单调递增的。zxid越大,代表server对znode的操作越新。
逻辑时钟
每个服务器会维护一个自增的整数,名为逻辑时钟(又叫投票次数),它表示这是该服务器发起的第多少轮投票。同一轮投票过程中的逻辑时钟值是相同的。每投完一次票这个数据就会增加,然后与接收到的其它服务器返回的投票信息中的数值相比,根据不同的值做出不同的判断。
两种情况需要进行leader选举
一般建议选取奇数个节点进行搭建分布式服务器集群
选举
https://zookeeper.apache.org/doc/current/recipes.html#sc_leaderelection
https://www.cnblogs.com/aspnet2008/p/6421571.html
如对本文有疑问, 点击进行留言回复!!
Android 4.0使用Kotlin调用C语言以及汇编语言
Java Class.forName()用法和newInstance()方法原理解析
网友评论