每个节点都会向集群里面的其他节点发送票据,这个票据包含三个属性,第一个属性epoch,它是一个逻辑时钟,他用表示当前票据是否过期,第二属性zxid,也就是事务id,表示储存数据当前事务最新编号,第三myid,表示服务器id,它搭建zookeeper集群时候,在myid文件指定服务器的数字编号,投票时候根据epoch,zxid,myid逐一进行比较,以值最大的一方获得胜利。补充epoch因为网络通信存在延迟,每一个节点投票时候可能存在延迟,未能及时投上票的节点,票据作废。如果所有节点没有延迟同时投,那就看谁的zxid最大,最大的一方获得胜利,如果zixd都一样大就看myid最大获胜。