如何理解zookeeper

 

Zookeeper(即dubbo的注册中心)是出现是源自分布式架构的出现。是为了协调多台服务器一致的工作而开发的一个框架。在谈及zookeeper之前,首先需要了解分布式系统工作需要解决那些问题。

举例,如果一个分布式架构下面有5台机器协同在完成同一类型的工作。那么会出现

1)资源分配问题。

对于一个任务,我们不可能让5台机器都去执行。只需要选出一台负载相对比较轻的工作机执行后返回结果。

那么这个就设计到负载均衡的功能。zookeeper实现了该功能。

2)单点故障问题

负责协调负责均衡的这台机器宕机,结果是整个集群都失去了控制,不能提供任何的功能。

那么我们希望这台服务器宕机后,其他服务器能立刻自动的替代它。这里有一个Master/salver概念。zookeeper框架中实现了Master选举功能。

3)数据的同步更新问题

接着上面的问题,重新选举出来的Master是如何知道原Master挂了。在接管Master后又是怎么获取目前集群中机器那些事OK的。zookeeper实现了Observer,即发布订阅模式实现。

4)分布式锁问题

如果5台机器都需要访问某一台机器的资源。在同一个程序下多线程访问,我们采用了线程锁那解决这个问题。同理,我们想让某一台机器的资源只能被某台机器访问操作,就有了分布式锁。zookeeper实现了该功能。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chauncy昌西

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值