Zookeeper

作者: a9104fed92a0 | 来源:发表于2018-07-09 16:05 被阅读0次

    Zookeeper?

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务

    提供了什么?

    文件系统和通知机制

    Znode类型?

    PERSISTENT-持久化目录节点

    PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点 

    EPHEMERAL-临时目录节点 

    PHEMERAL_SEQUENTIAL-临时顺序编号目录节点 

    Zookeeper通知机制?

    客户端注册监听它关心的目录节点,当目录节点发生变化(数据改变、被删除、子目录节点增加删除)时,zookeeper会通知客户端。

    Follower访问过程

    注:1.在Client向Follwer发出一个写的请求

          2.Follwer把请求发送给Leader

          3.Leader接收到以后开始发起投票并通知Follwer进行投票

          4.Follwer把投票结果发送给Leader

          5.Leader将结果汇总后如果需要写入,则开始写入同时把写入操作通知给Leader,然后commit;

          6.Follwer把请求结果返回给Client

        • Follower主要有四个功能:

        • 1. 向Leader发送请求(PING消息、REQUEST消息、ACK消息、REVALIDATE消息);

        • 2 .接收Leader消息并进行处理;

        • 3 .接收Client的请求,如果为写请求,发送给Leader进行投票;

        • 4 .返回Client结果。

        • Follower的消息循环处理如下几种来自Leader的消息:

        • 1 .PING消息: 心跳消息;

        • 2 .PROPOSAL消息:Leader发起的提案,要求Follower投票;

        • 3 .COMMIT消息:服务器端最新一次提案的信息;

        • 4 .UPTODATE消息:表明同步完成;

        • 5 .REVALIDATE消息:根据Leader的REVALIDATE结果,关闭待revalidate的session还是允许其接受消息;

        • 6 .SYNC消息:返回SYNC结果到客户端,这个消息最初由客户端发起,用来强制得到最新的更新。


    能做什么?

    1.命名服务   

    命名服务

    2.配置管理  

    配置管理

    3.集群管理  

    集群管理

    4.分布式锁  

    分布式锁

    5.队列管理

    队列管理

    设计目的?

    1.最终一致性 2.可靠性   3.实时性   4.等待无关(wait-free) 5.原子性 6.顺序性

    工作原理?

    1.ZAB协议

    Server工作状态?

    1. LOOKING

    2. LEADING

    3. FOLLOWING

    选主流程?

    1. Basic

    Paxos 2.

    Fast Paxos(默认)

    模式?

    1. 恢复模式(选主) 2.广播模式(同步)

    参考:

    https://www.cnblogs.com/felixzh/p/5869212.html

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

    相关文章

      网友评论

          本文标题:Zookeeper

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