zookeeper在分布式数据库和服务治理平台两个项目中都有用到,现在补一下学习笔记。
1. zookeeper的使用场景:
1)集中配置管理
(1)管理员创建一个node节点(可以理解为文件目录),并将配置信息放到这个目录中。
(2)应用启动后,与zookeeper建立长连接,并利用zookeeperwatch这个node
(3)管理员修改这个node下配置信息
(4)zookeeper watch到node发生变化后,推送给应用
2)集群成员管理
(1)集群节点启动时,在zookeeper中指定目录下创建一个节点信息
(2)管理节点监控这个目录信息,当有集群节点变化时,会通知管理节点
3)分布式锁
(1) 简单的分布式锁,就是某个节点获取到锁,更改节点状态,其余节点watch这个节点,当这个节点释放锁时,更新这个状态,会通知所有节点。别的节点就可以来获取锁。缺点是获取锁时所有节点同时争抢,浪费资源。
(2)带序列的临时锁,只有序号最小的节点能够获取到锁。其余节点以此watch比他小的节点。当最小的节点释放锁时,删除自己,比他大1的节点就获取到锁。
4)并发同步
(1)并发需要多个节点就绪才能触发: 可以每个节点就绪时,在zookeeper指定path下见一个临时节点,当节点数满足条件时触发。
(2)并发需要所有任务完成才能继续: 可以在每个节点结束时,在zookeeper指定path下见一个临时节点,当节点数满足条件时触发。
2. zookeeper的工作原理:
1)zookeeper集群中的每个节点存储相同的数据
2)Zookeeper启动时,将从实例中选举一个leader(Paxos协议)
3)Leader负责处理数据更新等操作(Zab协议)
4)一个更新操作成功,当且仅当大多数Server在内存中成功修改数据。
3. zookeeper集群的角色:
1)leader 领导者负责进行投票的发起和决议,更新系统状态,处理写请求
2)Follwer 跟随者用于接收客户端的读写请求并向客户端返回结果,在选主过程中参与投票
3)Observer 观察者可以接收客户端的读写请求,并将写请求转发给Leader,但Observer节点不参与投票过程,Observer的目的是为了,扩展系统,提高读取速度。
4)Client 客户端执行读写请求的发起方
分享到:
相关推荐
### Zookeeper 学习笔记 #### 一、Zookeeper 简介与安装配置 **Zookeeper** 是一个分布式协调服务框架,它提供了一种高效可靠的机制来维护集群中的配置信息、命名服务以及提供分布式锁等功能,使得开发人员能够...
ZooKeeper 学习笔记 ZooKeeper 是一个开源的分布式协调服务,由 Hadoop 的创始人 Doug Cutting 等人开发。它为分布式应用提供了一个高效、可靠的协调机制,帮助开发者快速构建高可用、可扩展的分布式系统。 ...
该项目为基于Java语言的Zookeeper学习笔记设计源码,总计包含20个文件,具体构成包括15个Java源文件、3个PNG图片文件以及1个Markdown文件。此外,项目还包含1个XML配置文件,适用于学习和实践Zookeeper相关知识。
Zookeeper是一种重要的分布式协调服务,尤其在处理高可用性、高性能的应用场景中。它最初设计的核心功能是提供分布式锁服务,但随着社区的发展,Zookeeper的功能得到了扩展,现在还用于配置维护、组服务、分布式消息...
【Zookeeper学习笔记】 Zookeeper是一个分布式协调服务,它的核心目标是简化分布式环境下的数据管理与系统协调。作为Apache Hadoop和HBase的重要组件,Zookeeper提供了简单的原语集,支持分布式应用程序之间的通信...
本文适合但不限于软件开发人员阅读。本文档能够使阅读者对zookeeper有一个宏观且全面的了解,内容主要包含zookeeper架构、数据模型、读写及工作原理、典型应用场景、指令汇总等,
ZooKeeper通过提供一系列的服务来简化分布式系统的开发,这些服务包括但不限于: - **同步机制**:确保分布式系统中的进程能够以有序的方式运行。 - **配置维护**:集中存储配置信息,方便更新和分发。 - **群组...
总的来说,尚硅谷2021年的ZooKeeper笔记提供了一套全面的学习资源,帮助开发者深入了解ZooKeeper的工作原理及其在分布式系统中的关键作用。通过深入学习和实践,可以提升在分布式协调领域的技术水平。
Zookeeper是Apache Hadoop项目下的一个子项目,它是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现。Zookeeper的设计目标是为分布式应用提供一致性服务,它主要用来解决分布式...
Apache ZooKeeper 是一款开源的分布式协调服务,设计用于管理和简化分布式环境中的数据协调任务。它提供了一种简单、高可用且容错的机制,使得开发者可以专注于核心业务逻辑,而不是复杂的分布式问题。Zookeeper ...
### Zookeeper概述 Zookeeper是一种分布式协调服务框架,它的核心任务是为用户的分布式应用程序提供一系列的协调...无论是从其提供的服务还是从其内部的机制来看,Zookeeper都是值得深入学习和掌握的重要技术之一。
《Zookeeper一站式学习资料》是一份全面覆盖Zookeeper基础到高级知识的学习资源包,旨在帮助初学者快速入门并深入理解Zookeeper。这份资料包含了丰富的文本资料、视频教程以及相关的实践代码,是学习分布式协调服务...
Zookeeper是由Apache开发的一款开源分布式协调服务,它提供了一种高效、可靠的分布式一致性解决方案。其核心功能包括命名服务、配置管理、集群同步、分布式锁等。Zookeeper的设计理念是简单、一致性和高可用性,使得...
Zookeeper是Apache Hadoop的一个子项目,主要设计用于解决分布式环境中的数据管理问题,如统一命名服务、状态同步、集群管理和配置管理等。作为一个分布式服务框架,Zookeeper采用Java编写,同时也提供了C语言的API...
“zookeeper学习笔记.vsdx”可能是一个Visio图表,用于可视化Zookeeper的数据结构、工作流程或架构;而“zookeeper-trunk”可能是一个源码仓库,包含Zookeeper的源代码,适合深入理解其内部机制和进行二次开发。 ...
在大数据技术领域,Zookeeper是一个不可或缺的分布式协调服务。它由雅虎公司和Apache软件基金会共同开发,如今已成为Hadoop生态系统中的重要组成部分。本教程旨在深入解析Zookeeper的核心概念、功能及实际应用场景。...
Zookeeper的实现基于一种被称为Paxos的算法,Paxos算法是解决分布式系统中一致性问题的一种经典算法。 Paxos算法的核心思想是通过一系列的通信和承诺来达成对某个值的一致意见,而不会因为系统中的异常事件(例如...
【标题】"dubbo+zookeeper入门...这个入门资源不仅涵盖了理论知识,还提供了实战环节,对于初学者来说是一份非常宝贵的资料,能够帮助他们快速掌握Dubbo和Zookeeper的联合使用,为后续深入学习分布式系统打下坚实基础。