zoukankan      html  css  js  c++  java
  • 读《分布式一致性原理》会话

    会话状态

    在zookeeper客户端与服务端成功完成连接创建后,就建立了一个会话。zookeeper会在整个运行期间的生命周期中,会在不同

    的会话状态间进行切换,这些状态一般,这些状态一般可以分为CONNECTING,CONNECTED,RECONNECTING,RECONNECTED

    和CLOSED。

    一旦客户端开始创建Zookeeper对象,那么客户端状态就会变成CONNECTING,同时客户端开始从上述服务器地址列表中捉个选取IP

    进行网络连接,直到成功连接上服务器然后将客户端状态变更为CONNECTED。

    通常情况下伴随着网络闪断或是其他原因,客户端与服务器之间的连接会出现断开情况。一旦碰到这种情况,zookeeper客户端会自动进行

    重连操作。同时客户端的状态会变成CONNECTING。直到重新连接上服务端后,状态变为CONNECTED。

    另外如果出现会话超时,权限检查失败或则客户端主动退出程序等情况,那么客户端的状态会变为CLOSED

    会话创建

    Session是zookeeper中的会话实体,代表了一个客户端会话,包括以下4个属性。

     

    服务器的角色介绍

     Leader

    Leader服务器是整个zookeeper集群工作机制的核心,其主要工作有以下两个

    • 事务请求的唯一调度和处理这,保证集群事务处理的顺序性。
    • 集群内部各服务器的调度者

    Follower

    Follower服务器时zookeeper集群状态的跟随者,其主要工作有一下三个。

    • 处理客户端非事务请求,转发事务请求给Leader服务器。
    • 参与事务请求Proosal的投票
    • 参与Leader选举投票

     

    Oberver

    Oberver是zookeeper引入的全新的服务器角色。observer服务器在工作原理上和Follower基本是一致的。

    对非事务请求,都可以进行独立的处理,对于事务请求则会转发给leader服务器。

    和follower的区别是不参与投票,包括事务请求Proposal的投票和Leader选举投票。

  • 相关阅读:
    数据库中char、varchar、varchar2、nvarchar之间的关系
    Oracle中scott用户下基本表练习SQL语句
    判断一个数是否是素数
    阿里P7前端需要哪些技能
    react Native 踩坑记录
    流程节点(2018.7.31)
    在centos7下手工安装和配置Nginx
    微信公众号开发
    nodejs 实战
    数据库权限表的设计
  • 原文地址:https://www.cnblogs.com/duan2/p/9124077.html
Copyright © 2011-2022 走看看