• zookeeper相关概念


    概念

    介绍

    zk是一个分布式系统的协调控制器,主要可以为分布式系统提供资源协调、数据同步/一致性服务。常用场景为注册中心,分布式系统服务的维护

    角色

    zk中角色分为三种

    • leader:集群中只有一个
    • follower:从节点,有选取投票权
    • obverser:观察者(从节点),没有选举投票权,只能提供读服务

    znode存储类型

    zk的数据以znode节点方式存储在内存中,znode为树形结构,格式类似linux的文件系统,也可以持久化到磁盘,分为四种类型

    • 临时性节点,客户端会话失效(可能连接没断)则删除
    • 持久性节点,一直存在(默认方式)
    • 临时性顺序节点,客户端会话失效(可能连接没断)则删除,节点名后面带有序号后缀,不能有子节点
    • 持久性顺序节点,一直存在,节点名后面带有序号后缀

    acl权限

    zk可以为znode节点提供权限功能,写法为schema:不同schema的不同参数:权限(增删改查)
    schema可取值:ipdigestauthworld:anyone


    工作原理/实现原理

    1. zk采用集群部署,每个server在内存中都存储了一份数据,格式类似linux的文件系统,数据可以持久化到磁盘
    2. zk在启动之后会通过zab协议选取出一个leader,负责事务功能(写操作)
    3. 当客户端写操作时会发送到leader(发送到follower也会转发给leader),leader将写操作包装为事务发给follower通过zab协议确定超过半数follower确认后认为该写操作成功,否则为失败

    zab协议

    崩溃恢复

    主要指集群刚启动或leader节点失效或过半follower失效情况下的leader选举场景
    https://zhuanlan.zhihu.com/p/27335748

    原子广播

    当客户端写操作时会发送到leader(发送到follower也会转发给leader),leader将写操作包装为事务发给follower通过zab协议确定超过半数follower确认后认为该写操作成功,否则为失败


    参考

    https://www.cnblogs.com/raphael5200/p/5285583.html

  • 相关阅读:
    Navicat Premium 15 永久激活版安装教程
    win10安装redis
    Linux下安装Go环境
    IoT platforms that deserves to be noticed
    TortoiseGit配置
    impot和require区别
    websocket搭建简单的H264实时视频流播放
    应用索引技术优化SQL 语句(Part 3)
    应用索引技术优化SQL 语句(Part 2)
    应用索引技术优化SQL 语句(Part 1)
  • 原文地址:https://www.cnblogs.com/wish5714/p/14983676.html
Copyright © 2020-2023  润新知