导航菜单
路很长,又很短
博主信息
昵   称:Cocodroid ->关于我
Q     Q:2531075716
博文数:337
阅读量:1472587
访问量:166454
至今:
×
云标签 标签球>>
云标签 - Su的技术博客
博文->>首页 博主的更多博文>>
ZooKeeper八大应用场景
Tags : ZooKeeper,zk,应用场景发表时间: 2018-06-05 00:27:29
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
比如: 转自:Su的技术博客  原文地址:

  我们都知道ZK现在在整个技术圈都可以见到其身影,特别是分布式环境,基本上是必不可少的一个组件。 下面就罗列下ZK常用的八大应用场景,帮助你更清楚的了解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的!



打赏
打赏
关注公众号
公众号
类别:源码| 阅读(1135)| 赞 (0)
评论
暂无评论!
发表评论
昵  称:

验证码:

内  容:

    同时赞一个 赞