apache zookeeper (分布式应用程序)
1:协调服务 在分布式的环境下,控制大家有序的去做某件事 2:分布式小文件存储系统 部署在多台机器上,存储的数据有大小限制,用于存储数据,文件的系统 3:全局数据一致性 所有的服务器数据保持一致 4:角色职责 leader(主角) 所有事务性,增删改请求的唯一调度者和处理者,具有决定权 follower(配角) 处理非事务性/查的操作,参与‘zk'内部的选举,选举主角 observer 处理非事务请求,不参与投票
5:数据模型 在‘zk’中,只有节点类型
-s :序列化,-e:临时
永久节点序列化 临时节点序列化 永久节点非序列化 临时节点非序列化
6:zookeeper监听机制watch
监听是谁监听谁 监听什么? zk客户端监听zk服务端 监听的实现步骤 1、设置监听 2、执行/触发监听 3、通知给设置监听的客户端 回调callback 监听的特点: 先注册 再触发 一次性的监听 异步通知 通知是使用event事件来封装的
8:zk典型应用 数据发布和订阅---通用的配置中心 功能:分布式软件集中管理配置信息、动态更新配置信息 使用zk的哪些功能:监听机制
选举服务 功能:为其他软件选举 重新选举 使用zk的哪些功能:znode路径唯一性 临时 监听机制 像我们hadoop hbase kafka等大数据软件 使用zk不外乎就是上述的功能。
09扩展:zk自己内部如何选举的?
2n+1奇数台。 内部权重不同,过半就可以决定老大,权重越大,票就给谁,过半后,谁的票最多,谁就是老大