美文网首页
ZooKeeper简介

ZooKeeper简介

作者: 陀氏 | 来源:发表于2019-06-20 18:21 被阅读0次

    来自于《从PAXOS到ZOOKEEPER分布式一致性原理与实践》读书笔记

    是什么

    是一个典型的分布式数据一致性的解决方案,可以基于ZK实现:数据pub&sub、负载均衡、命名服务、分布式锁、分布式队列等。
    它保证了客户端的更新请求能在ZK结点上保持严格的顺序一致性、原子性,且对客户端而言其是Single System View,即无论连接到哪个ZK结点看到的数据是一致的。
    性能:三台普通机器组成的集群可扛12~13W qps
    可用性:一半以上机器可用,ZK集群会保持可用性

    基本设计

    一、集群角色
    不是传统的master\slave,而是:
    Leader:通过选举推出的一台Leader结点,可提供Read\Write。
    Follower:提供Read,参与选举过程,参与Write的过半写成功。
    Observer:提供Read,此类角色方便在不影响写性能的同时提高读性能。
    二、会话
    与客户端进行tcp长连,一个新的Session会话就开始了。通过此长连可定期心跳检查、发送请求。若连接断开,在指定时间内重连到另一台机器,之前的Session依然有效。
    三、数据结点Znode
    数据结点用路径来表示,如/ls/foo/bar。每个数据结点可保存数据内容,与节点的属性。
    四、版本
    五、Watcher
    用户可以在指定结点上注册watcher,并在触发时推信息给客户端。
    六、ACL(Access Control Lists)
    类似于unix文件系统的权限控制,分为create\read\write\delete\admin五种权限。

    ZAB协议

    全称是ZooKeeper的原子消息广播协议。

    相关文章

      网友评论

          本文标题:ZooKeeper简介

          本文链接:https://www.haomeiwen.com/subject/fuijqctx.html