zookeeper的八大应用场景

1、数据发布和/订阅

 

  主要的一个场景,比如配置中心。我们会将配置的相关信息都存放在一个中心,这样我们的应用就不用每次修改参数就要进行重启,使用了zk作用配置中心的数据推送更新,这样我们就能方便的进行数据更新,每次将相关数据发布到配置中心,然后由应用服务去订阅,这样就能动态的进行配置数据的更新。

 

2、负载均衡

 

  可以基于ZK来实现DDNS动态域名解析服务,从而达到域名的动态添加、修改、删除等。能够基于域名服务,进行应用的负载,从而达到请求负载到各个应用中。

 

3、命名服务

 

  命名服务,主要的应用场景在于rpc服务,比如dubbo等框架,可以将相应的服务注册在zk上,这样服务调用就可以根据其所命名的服务来提供对外服务等。

 

4、分布式协调/通知

 

  对于一个在多台机器部署运行的应用上,通常都需要一个协调者来控制整个系统的运行流程。比如分布式事务、机器间的互相协调等。这样能将分布式协调的职责能从应用中分离出来,达到减少系统间的耦合性,提高系统的可扩展性。

 

5、集群管理

 

  在集群环境中,机器和应用都是分散着进行部署,每次进行服务的上下线升级的过程中,都要手动进行集群的管理,这样造成人做的事比较重复性,并且也比较麻烦容易出错。如果能使用zk来协助我们进行服务或机器进群的管理,这样将能帮助我们解决需要繁琐又麻烦的事。

 

6、Master选举

 

  Master选举,也就是在众多机器或服务中,选举出一个最终“决定权”的领导者,来独立完成一项任务。比如有一项服务是需要对外提供服务,但是要保证高可用,我们就机会进行服务的多项部署,也就是做了一些备份,提高系统的可用性。一旦我们的主服务挂了,我们可以让其它的备份服务进行重新选举,这样我们就能使整个系统不会因服务的挂掉而造成服务不可用。

 

7、分布式锁

 

  分布式锁是控制分布式系统间同步访问共享资源的一种方式。如果不同的系统或同一个系统的不同主机之间共享了同一个资源,那么访问这些资源的时候,需要使用互斥的手段来防止彼此之间的干扰,以保证一致性,这种情况就需要使用分布式锁。

 

8、分布式队列

 

  使用zk来实现分布式队列,分为两大类:FIFO先进先出队列、Barrier分布式屏障。FIFO队列是一种很典型的队列模型:先进入队列的请求先完成操作后,才会处理后面的请求;Barrier分布式屏障,则是需要将队列元素都集聚之后才进行统一的执行安排,否则只能等待。

 

总结

 

  上面是ZK的常用8大应用场景,可能还有其它适合你的业务场景。可以看出ZK在分布式系统中能起到减少系统间的耦合性,也能提高系统的可扩展性。在现在的互联网时代,相信你一定会使用到Zookeeper的!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

benboerdong

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

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

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

打赏作者

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

抵扣说明:

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

余额充值