1、认识Zookeeper
1.1、zookeeper是什么?
分布式数据的一致性解决方案。
1.2、Zookeeper能做什么
①、数据的发布和订阅(配置中心,config,disconf,diamand,apollo)
②、负载均衡:不是本身就有负载均衡,而是特性能做
比如:dubbo利用zookeeper的机制实现负载均衡。
③、命名服务
④、Master选举
⑤、分布式锁
⑥、分布式队列
1.3、Zookeeper的特征:
①、顺序一致性:从同一个客户端发起事务请求,最终会按照顺序被应用到zookeeper中。
②、原子性:所有的事务请求处理的结果在整个集群中的所有及其上的应用情况都是一致的。
③、可靠性:一旦服务器成功应用某个事务,并且对客户端做出响应,那么这个数据在整个集群中一定是同步并保存下来
④、实时性:一旦一个事务被成功的应用,客户端就能够立即从服务端读取到事务变更后的最新的数据状态(近实时)。
当在集群中的一个节点上添加一个路径的时候,其他集群的节点上也会有一个这样的路径存在。当删除的时候,其他的节点也会删除。
基数的节点-中心化思想。
而在redis中是主从个数为基数。
事务操作反应到每一个节点上。
缺点:不能存储大量的数据。只能在大数据中做协调服务的组件。
2、Zookeeper中常用的命令(通过客户端连接到服务操作)
注意点:./zkCli.sh连接到的时候时本地的2181端口
如果想连接到其他服务器 对应zookeeper端口:./zkCli.sh -server ip:port
基本命令(节点的增删改查)
Wathcer(事件)
ACL(权限控制)
四字命令
3、Zookeeper数据模型:Znode
3.1、有点类似二叉树