• zk系列-zookeeper概述


    接触zk是2年前了,最近工作又比较依赖于zk,所以准备起个系列文章,系统的总结下。

    zookeeper是一个分布式的用于协调的服务,起源于Hadoop中的一个组件。分布式系统可以用zookeeper实现统一命名服务、配置管理、分布式锁、集群管理等功能。

    数据结构

    zk维护的数据结构类似于操作系统中的文件系统,每一个item都是一个节点(znode),节点上存储二进制的数据或不存,如图。


    节点类型:临时节点(ephemeral)和持久节点(persistent)。节点可以指定为SEQUENTIAL,这样的节点名字后面会自动追加一个10位的单调递增的序号,同一个父节点下的SEQUENTIAL子节点间保持单调递增。

    节点监控:各个节点(一个路径代表一个znode)的变化(删除、值变化、子节点变化),都可以通知监听该节点的客户端,触发客户端做一些操作。

    其他特性:znode有自己的ACL,决定自己对外的存取修改权限;znode可以维护多个版本的数据;znode已存在,继续在该路径创建node,node名会自动编号。

    zk集群

    zk可以单机部署或者集群部署。整个zk分布式系统中有3个角色:client、follower、leader,如图。


    leader负责zk集群中事务的协调,事务一致性和leader的选举都是基于Paxos协议实现的。集群中还可以有一个角色Observer,只能接受client的连接,不具有选举和写的权力,单纯地为了增加系统的读性能。

  • 相关阅读:
    团队项目-需求分析
    设计模式第二次作业
    设计模式第一次作业
    高级软件工程团队作业(选题报告)
    高级软件工程团队结对作业(学生部门智能匹配)
    高级软件工程团队第一次作业
    高级软件工程结对作业
    高级软件工程第二次作业
    高级软件工程第一次作业
    POJ 2752 Seek the Name, Seek the Fame next数组理解加深
  • 原文地址:https://www.cnblogs.com/whuqin/p/4981974.html
Copyright © 2020-2023  润新知