zookeeper源码学习综述

Zookeeper是一个分布式协调服务,提供数据一致性、可靠性、顺序性等特性,常用于命名服务、配置管理、集群管理和锁定同步。其核心功能包括全局数据一致、原子性更新和实时性保证。团队分工涉及Znode、Watcher、ACL、ZABProtocol和会话等模块的源码解析。
摘要由CSDN通过智能技术生成

目录

2021SC@SDUSC

一、zookeeper综述

1.zookeeper是什么

2.zookeeper的一些特性

1.全局数据的一致

2.可靠性

3.顺序性

4.数据更新原子性

5.实时性

3.zookeeper一些常见服务

1.命名服务

2.配置管理服务

3.集群管理服务

4.选举算法服务

5.锁定和同步服务

二、组内分工

三、总结


2021SC@SDUSC

一、zookeeper综述

1.zookeeper是什么

zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。zookeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。zookeeper代码版本中,提供了分布式独享锁、选举、队列的接口等等。

总之,zookeeper是一个分布式的文件管理系统,通过通知机制向客户端发送实时信息。

2.zookeeper的一些特性

1.全局数据的一致

每个server保存一份相同的数据副本,client无论链接到哪个server,展示的数据都是一致的。

2.可靠性

如果消息被其中一台服务器接受,那么将被所有的服务器接受。

3.顺序性

包括全局有序和偏序两种:全局有序是指如果在一台服务器上消息 a 在消息 b 前发布,则在所有 server 上消息 a 在消息 b 前被发布,偏序是指如果一个消息 b 在消息 a 后被同一个发送者发布,a 必须将排在 b 前面。

4.数据更新原子性

一次数据更新要么成功,要么失败,不存在中间状态。

5.实时性

ZooKeeper 保证客户端将在一个时间间隔范围内获得服务器的更新信息,或者服务器失效的信息。

3.zookeeper一些常见服务

1.命名服务

ZooKeeper 提供的命名服务功能能够帮助应用系统通过一个资源引用的方式来实现对资源的定位与使用。另外,广义上命名服务的资源定位都不是真正意义的实体资源——在分布式环境中,上层应用仅仅需要一个全局唯一的名字,类似于数据库中的唯一主键。

2.配置管理服务

建立一个配置管理中心,把配置文件交给zookeeper来管理,只需要在一个节点上修改配置文件,那么其他监听了该节点的服务全部自动更新最新的配置文件到本地。

3.集群管理服务

在zookeeper服务器端有一个znode,那么集群中每一个机器启动的时候都去这个节点下创建一个该类型的节点,那么在某一个机器挂掉或者断链的时候,其对应的节点就会消失,然后集群中所有对该节点进行watch的客户端都会收到通知,然后取得最新列表。

4.选举算法服务

选举一个节点作为协调目的的leader。

5.锁定和同步服务

在修改数据的同时锁定数据。此机制可帮助你在连接其他分布式应用程序时进行自动故障恢复。

二、组内分工

组员ZooKeeper源码解析分工
陈伊臻        Znode、Watcher、ACL
刘翔ZAB Protocol
张磊ZAB Protocol
萧科多Network Communications 、Session

三、总结

本文只是对zookeeper的简单综述,后续将开始进行源码的学习与分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值