Zookeeper介绍 (基础介绍 一)

目录

概述

特点

集群的角色

Leader

Follower

Observer

ZooKeeper 集群的工作原理 

写操作流程

读操作流程

Leader选举

ZooKeeper 集群部署建议

ZooKeeper 数据结构


概述

Zookeeper是一个分布式协调服务的开源概架,主要用来解决分布式集群中应用系统的一致性问题,例如怎样避免同时操作同一数据造成脏读的问题,

ZooKeeper本质上是一个分布式的小文件存储系统,提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理,从而用来维护和监控你存储的数据的状态变化,通过监控这些数据状态的变化,从而可以达到基于数据的集群管理,诸如:统一命名服务、分布式配置管理、负载均衡、分布式锁、分布式协调等功能

特点

集群的角色

ZooKeeper集群通常称为一个ZooKeeper Ensemble,由多个ZooKeeper服务器(节点)组成,以确保高可用性和容错性。在一个ZooKeeper集群中,每个节点有不同的角色,主要包括以下几种角色:

Leader

角色: 负责处理所有写请求和同步数据到所有Follower节点。

职责:

        提供写操作的一致性保证

        处理集群的Leader选举。

        协调和分发事务请求。

选举: 在ZooKeeper集群启动时或Leader节点故障时,通过选举算法(如Zab协议)选举出新的Leader

Follower

角色: 负责处理读请求,并将写请求转发给Leader。

职责:

        响应客户端的读请求

        将写请求转发给Leader并等待Leader的同步

        参与Leader选举        

同步: 从Leader同步数据,以确保数据的一致性

Observer

对于访问量比较大的集群,可以新增观察者角色

角色: 类似于Follower,但不参与Leader选举和写操作的投票

职责:

        处理读请求        

        提供额外的读取吞吐量,而不影响写操作的性能。

使用场景: 在需要扩展读取能力的情况下,可以增加Observer节点,而不会增加写操作的开销

ZooKeeper 集群的工作原理 

  • 写操作流程

    • 客户端将写请求发送到Leader节点。
    • Leader节点执行操作,并将事务提议发送给所有Follower节点进行投票。
    • 当超过半数的Follower节点确认后,Leader将事务提交,并通知所有Follower应用该事务。
  • 读操作流程

    • 客户端可以将读请求发送到任何Follower或Observer节点。
    • 节点返回其当前状态的数据给客户端。
    • (可选)客户端可以指定强一致性读,要求从Leader读取最新数据。
  • Leader选举

    • 当Leader节点故障时,剩余的Follower节点会通过Zab协议进行选举,选出新的Leader。
    • Leader选举过程确保新的Leader由多数节点认可,以保证一致性。

ZooKeeper 集群部署建议

  • 奇数节点: 推荐使用奇数个节点(如3、5、7个节点),以确保在发生故障时仍能维持多数决策。
  • 分布式部署: 各节点应部署在不同的物理机或虚拟机上,以提高容错性和可用性。
  • 监控和报警: 定期监控集群状态,设置故障报警机制,以便及时处理故障

ZooKeeper集群通过这些角色和机制,实现了高可用性和强一致性,是许多分布式系统的重要基础组件。

ZooKeeper 数据结构

图中的每个节点称为一个Znode。每个 Znode 由3部分组成:

stat:此为状态信息,描述该 Znode 的版本,权限等信息

data: 与该Znode 关联的数据

children: 该 Znode下的子节点

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值