代码编织梦想

1. Zookeeper概述

zookeeper是一个分布式协调服务软件,最重要的特性是:全局数据一致性.
zookeeper集群包含三个角色:

  1. 主节点:leader
    主节点主要负责:
    ①负责管理整个集群,保证全局数据一致性
    ②负责处理数据事务(包括增删改等)请求
    ③负责转发非事务(查)请求给从节点
  2. 从节点:follower
    从节点主要负责:
    ①实时从主节点拉取数据,保证全局数据一致性
    ②负责处理非事务(查)请求
    ③负责转发事务(增删改)请求给主节点
    ④有投票选举权
  3. 观察者:observer
    在这里,除了没有投票权,其作用和follow作用一样

2. Zookeeper自身选举流程

  1. 每个zookeeper节点都会投票给myid最大的那个机器.
  2. 没有选出主节点之前,每启动一个新的机器,都会选举一次
  3. 采用过半原则,得到票数超过集群的一半的节点,该节点即为主节点,其他节点为从节点.

3. Zookeeper架构图

在这里插入图片描述

  1. 当客户端向node1提出增删改等数据请求时,因为node1为从节点(follower),并不负责处理事务型请求,所以node1会将请求转发给node2(主节点)进行处理.
  2. 当客户端向node2发出事务型请求时,直接由node2处理
  3. 当客户端向主节点发出非事务型(查/读)请求时,node2会将请求转发给node1或者node3进行处理.
  4. 当客户端直接向node1或者node3发出非事务(查)请求时,直接由node1或者node3处理.

Zookeeper主备切换

  1. 当集群启动时,所有主节点都会抢占式的去Zookeeper的指定节点下创建1个临时节点,谁抢到谁就是Active,其他的都是StandBy.
  2. 所有的StandBy状态的节点都会实时监听Zookeeper下的那个临时文件的信息,即:注册监听
  3. 当前Active节点(例如node1)会话断开时,该临时节点消失,即:事件触发
  4. 此时其他Standby节点(例如node2)就知道了node1宕机了,就会从Standby状态变为Active状态,并开始工作.

Watch监听机制

  1. 先注册监听事件
  2. 当监听事件被触发时会获取结果.即:先注册, 后触发, 然后获取结果.
  3. Zookeeper的Watch监听机制是一次触发的,触发一次之后,该监听事件消失,再次使用需要重新监听.

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_51696882/article/details/129674560

zookeeper架构介绍-爱代码爱编程

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

zookeeper架构设计及其应用要点-爱代码爱编程

转载:http://www.aboutyun.com/thread-7731-1-2.html 1.ZooKeeper的数据模型是什么 ? 2.ZooKeeper应用有哪些陷阱 ? 3.每个节点(ZNode)中存储的是什么? 4.一个ZNode维护了一个状态结构都包含了什么? 5.ZNode组成结构是什么? 6.Watches的机制是什么? 7.Z

深入学习zookeeper架构原理-爱代码爱编程

深入学习ZooKeeper架构原理 ZooKeeper 是什么? ZooKeeper 是一个针对大型分布式系统的可靠协调系统;它提供的功能包括:配置维护、名字服务、分布式同步、组服务等; 它的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户; Zo

深入浅出zookeeper(一) zookeeper架构及fastleaderelection机制_郭俊jasonguo的博客-爱代码爱编程

原创文章,首发自作者个人博客,转载请务必将下面这段话置于文章开头处。 本文转发自技术世界,原文链接 http://www.jasongj.com/zookeeper/fastleaderelection/ 1

zookeeper 架构原理_neil parker的博客-爱代码爱编程_zookeeper架构原理

1.Zookeeper是什么 Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。 简单的说,z

zookeeper原理架构 :_我就是我。嗯的博客-爱代码爱编程

Zookeeper原理架构 2016年04月22日 11:59:44 阅读数:30540 本文纯属个人笔记,通俗易懂,转载请附上原文链接!部分资料摘自网络,如有雷同,纯属巧合! Zookeeper到底是什么!? 学一个东西,不搞明白他是什么东西,哪还有心情学啊!! 首先,Zookeeper是Apac

zookeeper架构笔记_gongxsh00的博客-爱代码爱编程

Zookeeper的需求目标     分布式应用需要组成员管理,主结点选举,元数据(配置信息)管理,分布式锁等协同服务,Zookeeper的目标是为分布式应用提供了实现这些协同服务的中心化工具。同时,Zookeeper的目标还包括: 高性能 支持高吞吐、低延时,以用于大型的分布式系统高可用 避免成为一个单点故障     Zookeeper的目标不包括大

zookeeper架构-爱代码爱编程

一、整体框架 Zookeeper介绍 ZooKeeper是一个分布式的,开放源码的应用程序协调服务。 Zookeeper使用场景 ZooKeeper是一个分布式应用程序协调服务,分布式应用程序可以基于它实现分布式同步服务,配置维护、命名服务、服务发现、分布式锁等。 Zookeeper特性 顺序一致性:从同一个客户端发起的事务请求,将会严格按照其

Zookeeper服务器启动流程-爱代码爱编程

服务端整体架构图 Zookeeper服务器启动流程大致可以分为以下五个步骤 配置文件解析初始化数据管理器初始化网络I/O管理器数据恢复对外服务单机版服务器启动流程 上图的过程可以分为预启动和初始化 预启动 统一由QuorumPeerMain作为启动类。无论单机或集群,在zkServer.cmd和zkServer.sh 中都配置了Quorum

【微服务架构】zookeeper总结-爱代码爱编程

Zookeeper 定义与工作原理 面向分布式应用的分布式协调服务 一致性协调 CAP Consistency:一致性(每次读操作都能保证返回的是最新数据)Availability:可用性(任何一个没有发生故障的节点,会在合理的时间内返回一个正常的结果)Partition tolerance:分区容错(当节点间出现网络分区,照样可以提供满足一致性和

Zookeeper原理篇-Zookeeper启动流程分析-爱代码爱编程

5.通过解析Zoo.cfg中的配置信息相关的参数,开始创建ZookeeperServer类实例,完成了这一步后,预处理阶段完成 初始化 初始化阶段,则是开始将Zookeeper中的相关服务管理类进行创建,大体流程如下: 1.创建了ZookeeperServer实例后,Zookeeper会创建一个ServerStats实例,此类用来收集Zookee

java学习-爱代码爱编程

Dubbo+Zookeeper微服务架构 1、Apache Dubbo概述 1.1、Dubbo简介 1.2、Dubbo的服务架构 2、服务注册中心 Zookeeper 2.1、ZooKeeper介绍 

elk日志采集监控系统架构及流程_日志监控系统架构-爱代码爱编程

项目介绍及软件功能: Filebeat: 部署在各个应用服务器上收取日志信息,简单过滤信息,推送给kafka(Go语言写的) Kafka:部署集群,可以跟logstach,kibana这些部署在一台上也可以单独部署!它主要

从0到1详解zookeeper的应用场景及架构原理_zookeeper+hadoop+hbase+kafka原理-爱代码爱编程

导语 | ZooKeeper作为Apache的顶级开源项目,基于Google Chubby开源实现,在Hadoop、Hbase、Kafka等技术中充当核心组件的角色。虽然历史悠久,但就像陈酿一样,其设计思想和实现不论何时还是