五、zookeeper集群的选举机制,监听原理,写数据流程 和 节点类型,
zk集群的选举机制: 半数机制 :zk集群中的有半数以上的节点存活,zk就能正常运行,所以zk集群节点最好是奇数个。Zk集群中只有一个leader,其他都是follower 选举机制 :会经过投票,票数大于半数以上的第一台服务器,当选leader Server1 server2 server3 server4 server5 (id大的不给id小的投票,id小的会给id大的投票,server1-5,id依次增大) 5台机器:server1开始投票,server1投自己,因为server1 id最小,所以server1只有一票 Server2:server2会投自己,server1也会投server2一票,server2 两票 Server3:server3会投自己,server1和server2各自投server3一票,那么server3就三票,三票在半数以上(一共五台机器),所以就选server3当leader, 后边的server4(4票)和server5(5票)虽然来都比server3票数多,但是server3是第一个票数大于半数以上的,所以就选择server3当leader Zokeeper的监听的原理:(重点) 1)首先要有一个main()线程 2)在main()线程中创建zookeeper的客户端,这时就会创建两个线程,一个负责网络连接通信(connect)