ZooKeeper:
被视为分布式系统中的基础设施。
ZooKeeper集群是一个服务高可用的集群,通常由奇数个节点组成,集群确保不会因为小于一半的节点宕机而受影响。
ZooKeeper集群实现了数据分区和数据复制(副本),并采用ZAB(ZooKeeper Atomic Broadcast)协议作为数据一致性的算法,ZAB由Paxos改进而来。
ZooKeeper服务:
提供极低延迟、超高可用的内存KV数据库服务。
提供中心化的服务故障发现服务。
提供分布式场景下的锁、Counter、Queue等协调服务。
ZooKeeper核心特性:多类型节点,Watcher机制,Session机制。
多类型节点:持久节点,临时节点,持久顺序节点,临时顺序节点。
持久节点(PERSISTENT):节点创建后就会一直存在,直到有删除操作来主动清除这个节点。
临时节点(EPHEMERAL):临时节点的生命周期和客户端session绑定,如果客户端session失效(并非断开),该节点会被自动清除。临时节点无法创建子节点。
持久顺序节点(PERSISTENT_SEQUENTIAL):具有持久性和顺序性(子节点依据创建时间保持顺序性),具体实现为在节点名中加一个自增的后缀。
临时顺序节点(EPHEMERAL_SEQUANTIAL