Zookeeper
文章平均质量分 77
学习Zookeeper的笔记
loser与你
这个作者很懒,什么都没留下…
展开
-
构建Zookeeper高可用的集群
构建Zookeeper高可用的集群1.集群组成 一个ZooKeeper集群如果要对外提供可用的服务,那么集群中必须要有过半的机器正常工作并且彼此之间能够正常通信。基于这个特性,如果想搭建一个能够允许F台机器down掉的集群,那么就要部署一个由2×F+1台服务器构成的ZooKeeper集群。因此,一个由3台机器构成的ZooKeeper集群,能够在挂掉1台机器后依然正常工作,而对于一个由5台服务器构成的ZooKeeper集群,能够对2台机器挂掉的情况进行容灾。如果是一个由6台服务器构成的ZooKeeper原创 2021-08-10 15:20:15 · 428 阅读 · 0 评论 -
ZooKeeper Leader选举
ZooKeeper Leader选举 ZooKeeper集群中有三种服务器角色:Leader、Follower和Observe。Leader选举是ZooKeeper中最重要的技术之一,也是保证分布式数据一致性的关键所在。1.ZooKeeper的Leader选举的过程服务器启动时期的Leader选举 以3台机器组成的服务器集群为例,在服务器集群初始化阶段,当有一台服务器启动的时候,它是无法进行Leader选举的。当第二台机器也启动后,此时这两台机器已经能够互相通信,每台机器都试图找到一个Leade原创 2021-08-10 14:39:38 · 704 阅读 · 0 评论 -
ZooKeeper服务器启动流程
ZooKeeper服务器启动1.单机版服务器启动ZooKeeper服务器的启动,大体可以分为下面五个主要步骤:配置文件解析、初始化数据管理器、初始化网络I/O管理器、数据恢复和对外服务。流程如下图所示:2.集群版服务器启动Leader和Follower启动期交互过程1.创建Leader服务器和Follower服务器2.Leader服务器启动Follower接收器LearnerCnxAcceptor3.Leader服务器开始和Leader建立连接4.Leader服务器创建LearnerH原创 2021-08-09 20:20:57 · 3195 阅读 · 0 评论 -
ZooKeeper会话的创建过程
会话创建过程中ZooKeeper客户端的工作流程 客户端一次会话创建的过程可以分为三个阶段:初始化阶段、会话创建阶段、响应处理阶段。初始化阶段1.初始化ZooKeeper对象 通过调用ZooKeeper的构造方法来实例化一个ZooKeeper对象,在初始化过程中,会创建一个客户端的Watcher管理器:ClientWatchManager。2.设置会话默认Watcher 如果在构造方法中传入了一个Watcher对象,那么客户端会将这个对象作为默认Watcher保存在ClientWatchM原创 2021-08-09 17:03:24 · 273 阅读 · 0 评论 -
ZooKeeper的系统模型
ZooKeeper的系统模型 ZooKeeper的系统模型1.系统模型(1)数据模型(2)节点特性(3)版本(4)Watcher1.系统模型(1)数据模型 ZooKeeper的视图结构和标准的Unix文件系统非常类似,但没有引入传统文件系统中目录和文件等相关概念,而是使用了其特有的“数据节点”概念,称之为ZNode。ZNode是ZooKeeper中数据的最小单元,每个ZNode上都可以保存数据,同时还可以挂载节点,构成一个层次化的命名空间,是个树。其数据模型如下图所示: 在ZooKeeper原创 2021-08-09 15:09:49 · 425 阅读 · 0 评论 -
ZooKeeper典型应用场景总结
ZooKeeper典型应用场景总结1.数据发布/订阅 数据发布/订阅系统,即配置中心,是发布者将数据发布到ZooKeeper的一个或一系列节点上,供订阅者进行数据订阅,进而达到动态获取数据的目的,实现配置信息的集中式管理和数据的动态更新。...原创 2021-07-26 21:19:03 · 432 阅读 · 0 评论 -
Zookeeper的操作
Zookeeper的使用1.客户端脚本 进入Zookeeper的bin目录之后,直接执行下面的命令:原创 2021-07-23 16:36:42 · 968 阅读 · 1 评论 -
ubuntu20.04安装zookeeper
ubuntu20.04安装zookeeper1.下载zookeeper安装包 进入https://downloads.apache.org/zookeeper/下载安装包,然后上传至虚拟机中的ubuntu。我这里选择的是zookeeper-3.6.3。2.解压zookeeper安装包tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz3.开始配置环境(1)配置文件zoo.cfg 这里需要将解压后zookeeper目录下的conf目录下的zoo_samp原创 2021-07-19 11:28:33 · 2860 阅读 · 1 评论 -
Zookeeper的ZAB协议
Zookeeper介绍1.Zookeeper是什么 Zookeeper是一个开放源代码的分布式协调服务,由互联网公司雅虎创建,是Google Chubby的开源实现。Zookeeper的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。 Zookeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基本它实现诸如数据发布订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列原创 2021-07-15 14:05:29 · 290 阅读 · 0 评论 -
分布式一致性协议——3PC协议
分布式系统下的一致性协议——3PC 3PC,是Three-Phase Commit的缩写,即三阶段提交,是2PC的改进版,将2PC协调的“提交事务请求”过程一分为二,形成了由CanCommit、PreCommit和do Commit三个阶段组成的事务处理协议。1.3PC协议流程(1)阶段一:CanCommit 1.事务询问 协调者向所有的参与者发送一个包含事务内容的canCommit请求,询问是否可以执行事务提交操作,并开始等待各参与者的响应。 2.各参与者向协调者反馈事务询问的响应原创 2021-07-13 17:43:23 · 724 阅读 · 0 评论 -
分布式一致性协议——2PC协议
分布式系统下的一致性协议——2PC 2PC,是Two-Phase Commit的缩写,即二阶段提交。目前,绝大部分的关系型数据库都采用2PC协议来完成分布式事务处理的,利用该协议能够非常方便地完成所有分布式事务,统一决定事务的提交或回滚,从而能够有效地保证分布式数据一致性。1.2PC协议的执行流程 2PC协议是将事务的提交过程分成了两个阶段来进行处理。(1)提交事务请求(投票阶段) 1.事务询问。 协调者向所有的参与者发送事务内容,询问是否可以执行事务提交操作,并开始等待各参与者的响应。原创 2021-07-13 16:37:53 · 793 阅读 · 0 评论 -
分布式系统的BASE理论
分布式系统的BASE理论 BASE是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的简写。 BASE理论是对CAP中一致性和可用性权衡的结果,其来源于对大规模互联网系统分布式实践的总结,是基于CAP定理逐步演化而来的。 核心思想是即使无法做到强一致性,但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性。1.基本可用 基本可用是指分布式系统在出现不可预知故障的时候,允许原创 2021-07-13 15:01:17 · 185 阅读 · 0 评论 -
分布式系统的CAP理论
分布式系统的CAP理论 CAP理论就是:一个分布式系统不可能同时满足一致性(C:Consistency)、可用性(A:Availability)和分区容错性(P:Partition tolerance)这三个基本要求,最多只能同时满足其中的两项。1.一致性 在分布式环境中,一致性是指数据在多个副本之间是否能够保持一致的特性。在一致性的需求下,当一个系统在数据一致的状态下执行更新操作后,应该保证系统的数据仍然处于一致的状态。 对于一个将数据副本分布在不同分布式节点上的系统来说,如果对第一个节点的原创 2021-07-13 14:36:21 · 427 阅读 · 0 评论 -
单机数据库下事务的ACID
单机数据库下的ACID 事务是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元,狭义上的事务特指数据库事务。事务具有四个特征,分别是原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),简称为事务的ACID特性。1.原子性 原子性指事务必须是一个原子的操作序列单元。事务中包含的各项操作在一次执行过程中,要么全部执行成功,要么全部不执行。任何一项操作失败都将导致整个事务失败。2.一致性 一致性是指事务的原创 2021-07-13 11:35:13 · 180 阅读 · 0 评论
分享