Zookeeper学习(一):Zookeeper的概述

来源:互联网 发布:留学生落户北京 知乎 编辑:程序博客网 时间:2024/06/07 08:45

一.Zookeeper介绍

        Zookeeper是一个高性能,分布式的,开源分布式应用协调服务。它提供了简单原始的功能,分布式应用可以基于它实现更高级的服(如Dubbo基于Zookeeper),比如,配置管理,集群管理,名空间。它被设计为易于编程,使用文件系统目录树作为数据模型。服在端跑在java上,提供java和C的客户端API。

     

两个重要的问题:

                          什么是分布式?       什么是协调服务?

二.分布系统

        分布式系统对外来说就是一个整体,外部并不知道内部的组成

     


三.分布式系统的问题



四.协调者



五.分布式系统协调

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

● 举例:

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

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

    o 选主

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

    o 发布/订阅


六.数据模型


七.典型应用场景


1.数据订阅/发布


2.负载均衡



3.命名服务


4.分布式协调/通知


5.集群管理

例如:Solr,Dubbo,Kafka 集群需要Zookeeper来进行管理

注:集群中的机器数量是随时发生变化的,可以随时加入机器,也可能宕机了减少机器


6.Master选举



7.分布式锁







   








1 0
原创粉丝点击