起源:
zookeeper是Apache旗下的一个项目,最早是应用在Yahoo!中,后被Apache HBase使用以追踪分布式数据
分布式:
是指在一定是时间或者同时在多个系统中运行,相比较于传统的项目结构更sheng省时省力,而且具有较高的可靠性、扩展性和透明性。
省时省力:传统结构中,单个系统只能次序进行,而分布式可以同时进行,就像多线程和单线程的区别,一个口和多个口的吞吐量的差距。
可靠性:多个zookeeper系统我们成称之为集群,集群中的单个zookeeper我们称之为节点。当请求发送到集群中时,会向集群发送请求链接,只到被其中一个节点接收或者全部被拒绝才会停止。(具体内容稍后会提到)
扩展性:可以随时添加新的节点,而不必重启系统
透明性:将其合并展示位单个应用
zookeeper节点:
节点分为持久节点(默认类型)、临时节点、顺序节点
持久节点:
从启动开始就一直存在,不会因为客户端断线就删除,默认为持久节点
临时节点:
客户端连接时创建,集群会定时向客户端发送心跳请求,若客户端在指定时间内不作出回应,则集群会判断此客户端断线,会将此客户端创建的临时节点删除
顺序节点:
会在指定文件名后添加十位的编号,每次将编号最小的选举leader,访问时访问此leader,若此leader断线被删除,将会再次重复此步骤选举新的leader
集群中的多数故障原理:
当集群中的节点大多数处于故障状态时,才会判定此集群处于故障状态,集群中的节点个数一般设置为奇数个,因为1相对于2来说,并不算是大部分。
原文链接:
https://www.w3cschool.cn/zookeeper/zookeeper_api.html