zookeeper入门学习

Posted xingma0910

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zookeeper入门学习相关的知识,希望对你有一定的参考价值。

1、基本概念

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

Zookeeper是高性能、高可用的分布式协调框架,采用了自定义的ZAB(Zookeeper Atomic Broadcast)事务一致性协议,在高并发分布式系统环境中保证事务一致性。ZK采用类似Linux操作系统文件目录结构管理节点,节点数据常驻内存,避免磁盘I/O影响性能,并提供对用户透明的持久化功能保证数据安全。ZK适用于小量数据、高性能、高并发的应用场景。

技术分享

2、zk提供的服务

(1)命名服务

服务提供方在zk上创建一个临时的node,且该node是全局唯一的。服务消费方通过读取zk上的临时Node节点获取到服务提供方提供的信息,进而就可以调用服务提供者提供的服务。实例:阿里的dubbo就是采用zk作为注册中心。

(2)发布订阅服务

发布订阅模型,即配置中心,可将应用可配置项发布到ZK上,供订阅者动态获取配置,同一集群使用同一套配置,实现配置集中、动态管理,避免修改配置后重启应用服务。

技术分享

(3)负载均衡

在分布式系统中,在一个集群中的由多台服务器提供服务。为了使每一台服务器负载更加均衡,需要根据服务负载的情况进行请求分发的框架。而ZK就是这样的,可以动态的注册和发现服务,是服务更透明。

技术分享

(4)分布协调/通知

(5)分布式锁

zk具有事务强一致性

锁服务分为独占锁时序锁
独占锁:多个服务器同时在ZK上创建一个节点,创建成功者即获取锁成功。

(6)分布式队列服务

分布式队列分为两种:
先进先出队列FIFO,与分布式时序锁的使用原理一致。
控制队列元素数量,等待队列中成员数量到达指定值之后,方可开始执行下一步处理操作。

内容来自:http://newliferen.github.io/2015/07/24/ZooKeeper%E5%85%A5%E9%97%A8/

 

以上是关于zookeeper入门学习的主要内容,如果未能解决你的问题,请参考以下文章

zookeeper入门学习

zookeeper入门系列:概述

Zookeeper 学习笔记 (详细)

Zookeeper 学习笔记 (详细)

Zookeeper 入门第一篇

RPC-Dubbo快速入门