今天看keepalived的时候把他和zookeeper混淆了,完全不是一个东西,所以在看一下zookeeper是什么吧
zookeeper:分布式应用程序协调服务,这个百科上的介绍感觉很好,简洁而不失全面,zookeeper为分布式应用提供一致性服务,进一步讲其通过数据结构、原语、watcher机制实现诸如配置维护、域名服务、分布式同步、组服务等服务百度百科
数据模型Znode,一个可以存储数据的树形层次结构,每个节点是一个Znode,包括stat状态信息,data相关联的数据,children子节点;上面说它可以存储数据,不过都是很小的数据(<1M ),如配置文件、状态、汇集位置等信息,根据他的数据我们可以知道他是用来管理调度数据的,操作这些数据只能是原子性操作:读相关的所有数据、写覆盖数据并且还有自己的ACL(访问控制列表)
在zookeeper中注册的节点目录发送变化、zookeeper会通知客户端
程序总是需要配置的,如果程序分散部署在多台机器上,要逐个改变配置就变得困难。现在把这些配置全部保存在 Zookeeper 目录节点中,所有相关应用程序对这个目录节点进行监听,一旦配置信息发生变化,每个应用程序就会收到 Zookeeper 的通知,然后从 Zookeeper 获取新的配置信息应用到系统中就好;
zk利用原子广播使得各个server的同步,过程中遵循Zab协议,该协议有两种模式:
而keepalived则是通过VRRP协议实现高可用功能的。VRRP是Virtual Router RedundancyProtocol(虚拟路由器冗余协议)的缩写,VRRP出现的目的就是为了解决静态路由单点故障问题的,它能够保证当个别节点宕机时,整个网络可以不间断地运行
https://www.cnblogs.com/xsht/p/5258907.html
https://www.cnblogs.com/wuxl360/p/5817471.html
https://baike.baidu.com/item/zookeeper/4836397?fr=aladdin
https://www.cnblogs.com/yuyijq/p/4116365.html Zookeeper-Zookeeper leader选举
http://blog.jiguang.cn/push_zookeeper_study_usage/ Zookeeper 的学习与运用
https://www.cnblogs.com/felixzh/p/5869212.html Zookeeper的功能以及工作原理