Zookeeper是一个分布式协调服务node
Leader: 全部的写操做必需要通过Leader完成,在广播给其它服务器。心跳检测。集群中只有一个Leader。
Follower: 接收客户端链接,处理客户端的读请求,并将写请求转发给Leader处理。参与投票。
Observer: 与Follower相似,但不参与投票。面试
Looking: 竞选状态。该状态下服务器认为集群中没有Leader,会发起Leader选举。
Following: 跟随者状态。代表当前服务器角色是Follwer。
Leading: 领导者状态。代表当前服务器角色是Leader。
Observing: 代表当前服务器角色是Observer。数据库
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的操做越新。运维
逻辑时钟分布式
每一个服务器会维护一个自增的整数,名为逻辑时钟(又叫投票次数),它表示这是该服务器发起的第多少轮投票。同一轮投票过程当中的逻辑时钟值是相同的。每投完一次票这个数据就会增长,而后与接收到的其它服务器返回的投票信息中的数值相比,根据不一样的值作出不一样的判断。oop
两种状况须要进行Leader选举大数据
1.服务器初始化启动
2.
2.服务器运行期间没法和Leader保持链接,Leader节点崩溃,逻辑时钟崩溃
通常建议选取奇数个节点进行搭建分布式服务器集群
※部分文章来源于网络,若有侵权请联系删除;更多文章和资料|点击后方文字直达 ↓↓↓
100GPython自学资料包
阿里云K8s实战手册
[阿里云CDN排坑指南] CDN
ECS运维指南
DevOps实践手册
Hadoop大数据实战手册
Knative云原生应用开发指南
OSS 运维实战手册
云原生架构白皮书
Zabbix企业级分布式监控系统源码文档
10G大厂面试题戳领