《从Paxos到Zookeeper》-Zookeeper使用第二篇

ZK znode存储

树型结构的存储系统
但是znode不区分文件夹和文件,每个znode即是文件也是文件夹,能存数据也能挂载子节点
每个znode有唯一路径标识,只适合存储小数据,不能超过1mb,最好不超过1kb
why存储数据不能大?--因为集群每个节点都存储相同的数据

《从Paxos到Zookeeper》-Zookeeper使用第二篇_第1张图片
《从Paxos到Zookeeper》-Zookeeper使用第二篇_第2张图片

ZK 监听机制

三种注册监听,五种触发监听,四种类型事件方式

API使用方式

《从Paxos到Zookeeper》-Zookeeper使用第二篇_第3张图片
《从Paxos到Zookeeper》-Zookeeper使用第二篇_第4张图片
伪代码使用方式

《从Paxos到Zookeeper》-Zookeeper使用第二篇_第5张图片
《从Paxos到Zookeeper》-Zookeeper使用第二篇_第6张图片

ZK 应用场景

1 发布订阅	
	发布创建znode子节点
	订阅监听节点的子节点变化,一直保持连接
2 命名服务
	创建的每个znode节点都是全局唯一名称
		可用于和雪花算法一样的生成全局id场景,在zk中创建带序列编号的znode即可,序列编号是分布式场景唯一的
		zk全局所有事务同时执行的只有一个,一定是串行执行(并发量不足)
3 配置管理
	可以所有znode监听一个znode,当这个znode配置更新则所有znode接受通知后全部业务逻辑更改配置
4 集群管理
	主从架构:
	创建父节点,该父节点下创建子节点存活来判断节点上线和下线
	创建znode子节点代表上线,删除znode代表下线
5 分布式锁
	独占锁/写锁:
		只有创建znode成功的算抢到锁执行,其他继续监听
		事务执行完毕后删除znode节点,其他节点继续抢锁
	共享锁/读锁:
	时序锁:
		每个事务都创建一个子节点znode,每当最小id znode执行完删除节点则触发所有子节点判断自己是否当前为最小id节点开始执行
6 队列管理
	同步队列:成员全部聚齐才可用
		监听子节点数量
	先进先出队列
		入出列按照编号
7 负载均衡
	负载均衡获取子节点znode

《从Paxos到Zookeeper》-Zookeeper使用第二篇_第7张图片
《从Paxos到Zookeeper》-Zookeeper使用第二篇_第8张图片

你可能感兴趣的:(大数据简单摘要篇,zookeeper,分布式,big,data)