zookeeper概述(1)

来源:互联网 发布:怎么编写php木马 编辑:程序博客网 时间:2024/05/21 10:50

zookeeper的基本概念

zookeeper是源代码开放的分布式协调服务。

zookeeper是一个高性能的分布式数据一致性解决方案,它将那些复杂的,容易出错的分布式一致性服务器封装起来,构成一个高效可靠的原语集,并提供一系列简单易用的接口给用户使用。

知识要点:

    1、源代码开放

    2、是分布式协调服务,它解决分布式数据一致性问题

        A:顺序一致性  B:原子性  C:单一视图  D:可靠性  E:实时性

    3、高性能

    4、可以通过调用zookeeper提供的接口来解决一些分布式应用的实际问题

zookeeper的应用场景

1、数据发布/订阅

    数据发布/订阅 顾名思义就是一方把数据发布出来,另一方通过某种手段可以得到这些数据

    通常数据订阅有两种方式:推模式和拉模式,推模式一般是服务器主动向客户端推送消息,拉模式是客户端主动去服务器获取数据(通常是采用定时轮询的方式)。

ZK采用两种方式相结合

    发布者将数据发布到ZK集群节点上,订阅者通过一定的方法告诉服务器,我对哪个节点的数据感兴趣,那服务器在这些节点的数据发生变化时,就通知客户端,客户端得到通知后可以去服务器获取数据信息。

2、负载均衡

    ZK支持两种节点:临时节点与永久节点。

    临时节点:在服务器出现不可访问的时候,ZK会自动删除此节点,返回最新可用的节点。

3、命名服务

    提供名称的服务。

4、分布式协调/通知

    心跳检测

    在分布式系统中,我们常常需要知道某个机器是否可用,传统的开发中,可以通过ping某个主机来实现,ping得通说明对方是可用的,相反是不可用的,ZK中我们让所有的机器都注册一个临时节点,我们判断一个机器是否可用,只需要判断这个节点在ZK中是否存在就可以了,不需要直接去连接需要检查的机器,降低系统的复杂度。

原创粉丝点击