Zookeeper学习总结

Zookeeper是一个基于ZAB协议的分布式协调服务,提供主备模式确保数据一致性。客户端通过TCP长连接与服务器保持会话,利用临时有序节点实现分布式锁,通过Watcher机制实现发布/订阅。它保证了顺序一致性、原子性、单一视图和可靠性。Zookeeper集群由Leader、Follower和Observer角色组成,选举算法包括leaderElection等。ZAB协议用于事务广播和崩溃恢复,确保集群中数据一致性。
摘要由CSDN通过智能技术生成

概念

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,他基于ZAB协议完成一套主备模式的架构来保证数据的一致性。

今天这个总结按照下边的导图展开:

这里写图片描述

数据模型

zk的数据结构是类似文件系统的树形结构,他的最小单位称为znode,他可以完成数据保存和节点的挂载。znode又分为四种类型,分别为持久化节点,持久化有序节点,临时节点(会话结束节点自动被清理),临时有序节点。

p.s. 当客户端启动的时候会和zookeeper产生一个TCP的长连接,这个时候会话的生命周期也就开始了,通过这个连接,客户端能够通过心跳检测和服务器保持有效的会话,也能够向ZooKeeper服务器发送请求并接受响应,同时还能通过该连接接收来自服务器的Watch事件通知。但连接因为某些原因断开了,只要在sessionTimeOut时间的范围内找连接到一个新的节点,之前的会话还是有效的。

我们可以利用了临时有序节点的特性来实现分布式锁。

watcher机制

watcher机制实现了分布式的发布/订阅,允许客户端向服务器注册一个watcher监听。当服务器端的节点触发指定事件的时候,会触发watcher,服务器端会向客户端发送一个事件通知。但是watcher是一次性的,触发后就失效了。

zk的特性
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值