一、Zookeeper是通常用来做什么
zookeeper的用途大概有如下这些:
(1) 元数据管理
例如Kafka, Canal等可以将一些元数据放入zookeeper中进行管理和维护
(2) 名称服务
例如Dubbo可以利用这个特性来把zookeeper用作服务注册中心
(3) 分布式锁
这个应用就比较广泛了,在分布式应用中,经常需要使用到分布式锁的场景
(4) 集群选举
如Kafka利用zookeeper来实现自动故障转移(也就是Master选举)
二、Zookeeper拥有哪些特性
(1) 顺序性
所有的写入请求全部有序
(2) 原子性
客户端的写入操作在所有机器中要么全部成功,要么全部失败
(3) 一致性
无论客户端连到哪个zookeeper结点上,看到的数据都是一样的
(4) 实时性
一旦数据发生变更,zookeeper要实时通知所有需要感知变更的客户端
(5) 高可用
如果其中的某一台机器宕机了,集群的数据不可以丢失
三、Zookeeper的常见部署架构及原理
标签:zookeeper,Zookeeper,写入,整体,介绍,Kafka,分布式,客户端 From: https://www.cnblogs.com/lhrogerluo/p/18412976