zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    进程的常用方法
    进程创建&僵尸进程&孤儿进程
    进程基础
    操作系统的发展史
    UDP协议&socketserver模块
    socket套接字
    简述计算机网络
    day 7-8 协程
    __new__和__init__的区别
    day 7-22 进程,线程,协程
  • 原文地址:https://www.cnblogs.com/wish5714/p/14983676.html
Copyright © 2011-2022 走看看