参考:https://blog.csdn.net/qq_21125183/article/details/86484213
ZK系列文章:https://blog.csdn.net/qq_21125183/category_8609552.html
zookeeper本身支持单机部署和集群部署,生产环境建议使用集群部署,因为集群部署不存在单点故障问题,并且zookeeper建议部署的节点个数为奇数个,只有超过一半的机器不可用整个zk集群才不可用。zookeeper集群中主要有两个角色leader和flower,每个客户端可以连接集群中的任何一个zookeeper节点,同时从其上面read信息,但是针对write操作,flower节点会转发给leader,由leader负责原子广播,从而保证集群中各个节点的数据一致性,zookeeper中规定只有当多余一半的节点同步完成整个write操作才算完成。也就是说可能会有少于一半的数据不是新数据,因此zookeeper中不是强一致性而是实现的最终一致性。但是客户端可以使用sync来强制读取最新的数据。
最终一致性:读数据时,有可能会脏读。比较推荐watch的方式,实现数据的及时生效。
来源:oschina
链接:https://my.oschina.net/u/4331670/blog/4269290