22Zookeeper大合集

本文深入探讨Zookeeper,介绍了其作为分布式数据一致性解决方案的角色,节点类型(如持久、临时节点),Watcher机制及其一次性、客户端串行执行和轻量级特性,以及在分布式协调、分布式锁、元数据管理和HA高可用等场景的应用。同时,详细阐述了Zookeeper的选举机制,包括选举阶段、发现阶段、同步阶段和广播阶段,并提到了ZAB协议的两种模式:崩溃恢复和消息广播。
摘要由CSDN通过智能技术生成

一、zookeeper简介

Zookeeper是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于Zookeeper实现诸如数据发布/订阅,负载均衡,命名服务,分布式协调/通知,集群管理,Master选举,分布式锁和分布式队列等功能。

  • Zookeeper本身就是一个分布式程序,主要半数以上节点存活,Zookeeper就能正常服务
  • 为了保证高可用,最好以集群方式部署Zookeeper,这样只要集群中大部分机器是可用的,Zookeeper本身仍然可用。
  • 全局数据一致性,每个server保存一份相同的副本,client无论链接哪个server,得到的数据都是一致的
  • Zookeeper将数据保存在内存中,保证了高吞吐和低延迟,但是内存限制了能够存储的容量不太大,限制了Znode中存储的数据量较小的进一步原因。
  • Zookeeper是高性能的,在读多于写的应用程序中尤其的高性能,因为写会导致所有服务器同步状态
  • Zookeeper有临时节点的概念,当创建临时节点的客户端会话一直保持活动,瞬时节点就一直存在,而当会话终结时,瞬时节点被删除。持久节点是指一旦这个ZNode被创建,除非主动进行ZNode的移除操作,否则这个ZNode将一直保存在Zookeeper上。
  • Zookeeper底层其实提供了两个功能,管理用户程序提交的数据;为用户程序提供节点监听服务

二、zookeeper的节点类型

在Zookeeper中,节点分为两类,第一类是指构成集群的机器,称为机器节点,第二类是指数据模型中的数据单元,称为数据节点-ZNode
Zookeeper将所有数据存储在内存中,数据模型是一棵树,由/进行分割的路径,就是一个Znode,每个节点上都会保存自己的数据内容,同时还会保存一系列属性信息。

Zookeeper中的机器节点分为三类

  • Leader
  • Follower
  • Observer

Zookeeper中node 分为两类,分为持久节点和临时节点。同时Zookeepe还允许为每个节点添加一个属性:SEQUENTIAL。一旦节点被标记上这个属性,那么这个节点被创建的时候,Zookeeper会自动在其节点名后追加上一个整型数字,这个整型数字是一个由父节点维护的自增数字
所以共有四种znode节点类型

  • PERSISTENT // 持久化节点
  • PERSISTENT_SEQUENTIAL // 持久化排序节点</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值