美文网首页
Zookeeper部分(熟悉)

Zookeeper部分(熟悉)

作者: 久伴_不离 | 来源:发表于2019-05-27 16:10 被阅读0次

1.zookeeper 是什么?

ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等


2.zookeeper 都有哪些使用场景?

大致来说,zookeeper 的使用场景如下,我就举几个简单的,大家能说几个就好了:

分布式协调

分布式锁

元数据/配置信息管理

HA高可用性

分布式协调

这个其实是zookeeper 很经典的一个用法,简单来说,就好比,你 A 系统发送个请求到 mq,然后 B 系统消息消费之后处理了。那 A 系统如何知道 B 系统的处理结果?用 zookeeper 就可以实现分布式系统之间的协调工作。A 系统发送请求之后可以在 zookeeper 上对某个节点的值注册个监听器,一旦B 系统处理完了就修改 zookeeper 那个节点的值,A 系统立马就可以收到通知,完美解决。

分布式锁

举个栗子。对某一个数据连续发出两个修改操作,两台机器同时收到了请求,但是只能一台机器先执行完另外一个机器再执行。那么此时就可以使用zookeeper 分布式锁,一个机器接收到了请求之后先获取 zookeeper 上的一把分布式锁,就是可以去创建一个 znode,接着执行操作;然后另外一个机器也尝试去创建那个znode,结果发现自己创建不了,因为被别人创建了,那只能等着,等第一个机器执行完了自己再执行。

元数据/配置信息管理

zookeeper 可以用作很多系统的配置信息的管理,比如 kafka、storm 等等很多分布式系统都会选用 zookeeper 来做一些元数据、配置信息的管理,包括 dubbo 注册中心不也支持 zookeeper 么?

HA高可用性

这个应该是很常见的,比如hadoop、hdfs、yarn 等很多大数据系统,都选择基于 zookeeper 来开发 HA 高可用机制,就是一个重要进程一般会做主备两个,主进程挂了立马通过zookeeper 感知到切换到备用进程。


未完待续。。。。将不定时更新

相关文章

网友评论

      本文标题:Zookeeper部分(熟悉)

      本文链接:https://www.haomeiwen.com/subject/ekihtctx.html