网站获利模式,wordpress时间轴源码,wordpress广告平台,微信做引流网站Zookeeper的配置文件解析: Zookeeper内部原理: 选举机制 半数机制:在集群环境中半数以上的机器存活,这个集群可用,所以在设计Zookeeper集群系统时#xff0c;通常会选择 奇数台服务器来搭建Zookeeper的集群 虽然在配置文件中并没有指定Master和Slave。但是#xff0c;Zookeep… Zookeeper的配置文件解析: Zookeeper内部原理: 选举机制 半数机制:在集群环境中半数以上的机器存活,这个集群可用,所以在设计Zookeeper集群系统时通常会选择 奇数台服务器来搭建Zookeeper的集群 虽然在配置文件中并没有指定Master和Slave。但是Zookeeper工作时是有一个节点为Leader其他则为FollowerLeader是通过内部的选举机制临时产生的 临时选举机制:zookeeper集群启动时有一个默认的票数,第一个台启动,票数投给自己,第二台也启动,票数也是投给自己,第三台也是把票数给自己,zookeeper最少要三台服务才能成为集群(id是自动自增的,后启动的服务id越大),但是目前的票数都为1,就会把票数给id大的的服务,于是第三台服务就有了三票,成为了leader,之后启动的服务票数只有1,无论如何也成为不了leader,也会把票数投给第三台服务,所以只要是第三台启动的服务都会成为leader 节点类型 1.持久型 特点:客户端如果和Zookeeper断开了连接对应的节点上数据依旧持久保存着 创建ZNode时按照顺序来进行标识节点ZNode名称后面追加一个数字的值, 例如Znode001、Znode002、Znode003...顺序号是一个单调递增的数字来进行标记。 2.短暂型 特点客户端和Zookeeper断开连接之后该节点会被自动的回收(自动的删除) 创建ZNode节点的时候ZNode名称会追加一个数字的值顺序编号是一个单调递增的数字例如Znode001、Znode002、Znode003... 监听器原理 1.在main方法中创建Zookeeper客户端的同时就会创建两个线程一个负责网络连接通信(获取数据)一个负责监听(看数据是否改变)。 2.监听事件就会通网络络通信发送给Zookeeper。 3.Zookeeper获得注册的监听事件后立刻将监听事件添加到监听列表里。 4.Zookeeper监听到数据变化或路径变化就会将这个消息发送给监听线程。常见的监听 监听节点数据的变化get path [watch] 监听子节点增减的变化ls path [watch] 5.监听线程就会在内部调用process()方法需要开发者实现process()方法的内容。 写数据流程解析 1.Client想向ZooKeeper的Server1上写数据必须得先发送一个写的请求。 2.如果Server1不是Leader(从节点没有写的权限)那么Server1会把接收到的请求进一步转发给Leader。 3.这个Leader会将写请求广播给各个Server各个Server写成功后就会通知Leader。 4.当Leader收到半数以上的Server数据写成功了那么就说明数据写成功了。 5.随后Leader会告诉Server1数据写成功了。 6.Server1会反馈通知Client数据写成功了整个流程结束。