标签:roc 接管 各类 情况 master yar 元数据 时间段 资源
原文格式可以访问:https://www.rockysky.tech
Zookeeper是一个分布式系统协调器,其本身并不直接实现上述的任何一个分布式系统的基本操作。Zookeeper本身其实就是一个通过Raft共识机制协同的分布式键值对文件存储系统。Zookeeper的文件以树状形式存储,每个节点都可以存储数据,每个节点叫做一个znode,如下图所示:
和普通的文件结构不同,Zookeeper没有目录的概念,每个节点都可以存储数据。
Zookeeper的节点分为两种主要的类型,即持久性节点和易失性节点,
Zookeeper支持一种watches机制。客户端可以给znode设定watch机制,一旦这个znode被更新,就会触发通知机制发送消息给客户端,同时删除这个watch。如果ZooKeeper服务器本身挂掉了,那客户端会直接收到本地通知。
Zookeeper本身被设计为一个非常简单,高速和可靠的服务。从而为各类分布式系统提供高级别和负责的分布式系统基本操作。对于分布式系统的CAP分类中,ZooKeeper是一种CP系统,重点保证的是强一致性。包括以下的特点:
顺序一致性:客户端对节点的更新一定会保证其最终更新先后顺序的的一致性
原子性:对znode的更新只会有成功,失败两种状态,不会有中间结果
单点一致性:客户端对zookeeper集群中任何一节点看到的znode结构和数据完全相同
高可靠性:一旦对znode更新成功,其结果会一直保持,直到下一次变更
时效性:在一定时间段,确保系统数据最新(up-to-date)
不过需要注意的是Zookeeper不确保数据的可用性,必须要等到所有ZooKeeper集群节点都同步成功,数据更新才会确认操作成功。这是才能够读取这个数据。时效性是值得能够确保在一定的时间段内可以完成数据跟新和同步。
Zookeeper通过API提供服务,提供以下几个API。
在大量读和少量写入的情况先,Zookeeper性能是比较高的。
官方数据显示,Zookeeper选举主节点的时间大概在200ms,当节点从新恢复后,整个系统性能可以迅速恢复。
标签:roc 接管 各类 情况 master yar 元数据 时间段 资源
原文地址:https://www.cnblogs.com/yangjian2006/p/12373994.html