ZooKeeper ⼀般都有哪些使⽤场景?

2022-08-02T17:16:05

分布式协调:这个其实就是 zk 很经典的⼀个⽤法,简单来说,就好⽐,你系统 A发送个请求到 mq,然后 B
消费了之后处理。那 A系统如何指导 B系统的处理结果?⽤ zk 就可以实现分布式系统之间的协调⼯作。 A系统
发送请求之后可以在 zk 上对某个节点的值注册个监听器,⼀旦 B系统处理完了就修改 zk 那个节点的值, A⽴
⻢就可以收到通知,完美解决。
分布所锁:对某⼀个数据联系发出两个修改操作,两台机器同时收到请求,但是只能⼀台机器先执⾏另外⼀个
机器再执⾏,那么此时就可以使⽤ zk 分布式锁,⼀个机器接收到了请求之后先获取 zk 上的⼀把分布式锁,
就是可以去创建⼀个 znode,接着执⾏操作,然后另外⼀个机器也尝试去创建那个 znode,结果发现⾃⼰创
建不了,因为被别⼈创建了,那只能等着,等等⼀个机器执⾏完了⾃⼰再执⾏。
配置信息管理: zk 可以⽤作很多系统的配置信息的管理,⽐如 kafka,
storm 等等很多分布式系统都会选⽤ zk 来做⼀些元数据,配置信息的管理,包括 dubbo 注册中⼼不也⽀持 zk么。

HA⾼可⽤性:这个应该是很常⻅的,⽐如 hdfs, yarn 等很多⼤数据系统,都选择基于 zk 来开发 HA⾼可⽤
机制,就是⼀个重要进程⼀般会主备两个,主进程挂了⽴⻢通过 zk 感知到切换到备份进程。

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »