Zookeeper的整体介绍

一、Zookeeper是通常用来做什么

zookeeper的用途大概有如下这些:

(1) 元数据管理

例如Kafka, Canal等可以将一些元数据放入zookeeper中进行管理和维护

 

(2) 名称服务

例如Dubbo可以利用这个特性来把zookeeper用作服务注册中心

 

(3) 分布式锁

这个应用就比较广泛了,在分布式应用中,经常需要使用到分布式锁的场景

 

(4) 集群选举

如Kafka利用zookeeper来实现自动故障转移(也就是Master选举)

二、Zookeeper拥有哪些特性

(1) 顺序性

所有的写入请求全部有序

 

(2) 原子性

客户端的写入操作在所有机器中要么全部成功,要么全部失败

 

(3) 一致性

无论客户端连到哪个zookeeper结点上,看到的数据都是一样的

 

(4) 实时性

一旦数据发生变更,zookeeper要实时通知所有需要感知变更的客户端

 

(5) 高可用

如果其中的某一台机器宕机了,集群的数据不可以丢失

 

三、Zookeeper的常见部署架构及原理

 

posted @ 2024-09-13 22:04  喝点江小白的随笔  阅读(17)  评论(0)    收藏  举报