Zookeeper学习记录

一,什么是zookeeper?

Zookeeper是一个高性能,开源的分布式协调服务的应用,它提供了许多功能,使分布式应用可以基于它实现更高级的服务。它的出现可以使我们更好的治理分布式服务。

为什么需要一个东西来协调服务呢~~~ 下面的这张图有很好的说明?


图中每辆车,都可以当做一个服务。当服务太多而又没有一个特定的东西进行管理的时候,所有的服务都会乱一团。然而解决上图的麻烦就是需要一个红绿灯,或者一名交警来进行管理, Zokkeeper在分布式服务中就充当了红绿灯和交警的服务,对通过dubbo发布的服务进行治理.

二、分布式系统的协调

协调:多个节点一起完成的工作

例如:(协调方式)

o 集群成员管理:集群中有多少个节点,节点中有多少台机器,(分布式系统中需要自动的发现成员)

   o 锁:多台服务器间的分布式锁,分布式系统中必须要用锁来保证数据一致性

    o 选主

    o 同步:数据一致性,数据发生变化后要同步到各个机器,数据的版本要一致

    o 发布/订阅

三,数据模型


Zookeeper典型的应用场景

1.服务的发布和订阅

服务通过配置中心将数据服务发布到zookeeper的一个或者一系列节点上面,订阅者进行服务订阅,当数据有变化的时候,zookeeper会及时的通知数据变化。


2.负载均衡

本质是利用zookeeper的配置管理功能,步骤如下:



命名服务的实际效果可以参考负载均衡第2条,都是通过ip和端口号来进行寻找并使用对应的服务。

4.分布式协调/通知(下面的内容详情别的文档)


5.集群管理


6.Master选举


7.分布式锁

以上的即为zokkeeper的运用场景详细内容下回记录

猜你喜欢

转载自blog.csdn.net/Tmeng521/article/details/80558325