Zookeeper(4) - 会话管理和事务处理

这篇具有很好参考价值的文章主要介绍了Zookeeper(4) - 会话管理和事务处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、服务端启动

二、会话管理

2.1、创建

2.2、管理

2.3、重连

2.4、清理

三、事务处理

3.1、处理流程

3.2、请求处理链


本章围绕两个主题展开,会话管理和事务的处理(数据处理)流程,目的是了解下zk的CS模式是如何运转的。

一、服务端启动

        服务端启动后主要要做哪些工作呢,主要有以下三个:

  1. 设置默认Watcher;
  2. 设置Zookeeper服务器地址列表;
  3. 创建ClientCnxn;

二、会话管理

2.1、创建

会话创建的流程图如下所示:

Zookeeper(4) - 会话管理和事务处理

2.1.1、ServerAddressList

        在实例化Zookeeper时,用户传入Zookeeper服务器地址列表,如192.168.0.1:2181,192.168.0.2:2181,192.168.0.3:2181,此时,Zookeeper客户端在连接服务器的过程中,Zookeeper收到服务器地址列表后,会解析出chrootPath和保存服务器地址列表:

  1. Chroot,每个客户端可以设置自己的命名空间,若客户端设置了Chroot,此时,该客户端对服务器的任何操作都将被限制在自己的命名空间下,如设置Choot为/app/X,那么该客户端的所有节点路径都是以/app/X为根节点;
  2. 地址列表管理,Zookeeper使用StaticHostProvider打散服务器地址(shuffle),并将服务器地址形成一个环形循环队列,然后再依次取出服务器地址;

2.1.2、ClientCnxn

        ClientCnxn是Zookeeper客户端中负责维护客户端与服务端之间的网络连接并进行一系列网络通信的核心工作类,Packet是ClientCnxn内部定义的一个堆协议层的封装,用作Zookeeper中请求和响应的载体。Packet包含了请求头(requestHeader)、响应头(replyHeader)、请求体(request)、响应体(response)、节点路径(clientPath/serverPath)、注册的Watcher(watchRegistration)等信息,然而,并非Packet中所有的属性都在客户端与服务端之间进行网络传输,只会将requestHeader、request、readOnly三个属性序列化,并生成可用于底层网络传输的ByteBuffer,其他属性都保存在客户端的上下文中,不会进行与服务端之间的网络传输。

        ClientCnxn维护着 outgoingQueue(客户端的请求发送队列 和 pendingQueue(服务端响应的等待队列&#文章来源地址https://www.toymoban.com/news/detail-441702.html

到了这里,关于Zookeeper(4) - 会话管理和事务处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Zookeeper篇——搭建Zookeeper服务器,docker搭建并启动Zookeeper服务,一篇文章手把手教学!

    ZooKeeper是一个分布式服务框架,基于Paxos算法实现,提供高可用的数据管理和应用程序协调服务。它的目标是提供一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。 ZooKeeper曾是Hadoop的正式子项目,后发展成为Apache顶级项目,与Hadoop密切相关但却没有任

    2024年04月28日
    浏览(52)
  • Windows server 由于没有远程桌面授权服务器可以提供许可证 远程会话被中断问题处理

    windows server可以多用户同时登陆,默认最大远程登录数量为2,如果有更多人需要同时远程登录,则需要安装远程桌面授权服务,第一次安装后,免费期为120天,超过则无法正常远程登录。 解决办法如下: Windows server 2016服务器远程桌面登录时出现错误提示:“由于没有远程桌

    2024年02月15日
    浏览(56)
  • zookeeper启动报错:JMX enabled by default,服务未启动

    zookeeper启动时,出现如下情况: 显示JMX是默认关闭的 一开始以为是已经启动了,但是使用jps命令查看,根本没有QuorumPeerMain这个进程。 首先,感觉对照安装文档,检查了安装步骤保持的是一致的 再次,网上搜索,说是关闭防火墙、删除zookeeper.server.pid 后就可以了,但是尝试

    2024年02月11日
    浏览(38)
  • SpringAOP以及事务管理和优化处理

    本篇章中所有的代码都将会放置到git仓库中去,并且会做一个简要的说明。 一、个人理解描述 Spring中所谓的AOP就是在不修改源码的情况下,来进行增强。 所谓的增强其实就是在方法执行前后添加一些额外操作。 所谓的增强,就是我们如何来对方法(以类中的方法为基本单位

    2024年01月21日
    浏览(51)
  • 微服务之事务处理

    Informal Essay By English Hi guys、happy labor day. Everyone should have a good time to relax during the Labor Day holiday. But don’t forget to improve yourself during the holiday period 参考书籍: “凤凰架构” “微服务架构设计模式” 引言 微服务架构下最关心的一个问题是如何实现跨多个服务的事务。 事务是每

    2024年02月04日
    浏览(19)
  • 【Zookeeper源码走读】第二章 服务器的启动过程

    通过运行zk的启动脚本,找到zk服务器端的入口类。脚本如下: 所以,zk的入口类是 QuorumPeerMain ,以下是该类的 main() 方法的完整代码: 跟踪方法中的 initializeAndRun() ,代码如下: 方法中,继续跟踪 ZooKeeperServerMain.main(args) ,代码如下: 上面的代码就是初始化 ZooKeeperServerMai

    2024年02月03日
    浏览(34)
  • 由于没有远程桌面授权服务器可以提供许可证,远程会话连接已断开。请跟服务器管理员联系

    1、“由于没有远程桌面授权服务器可以提供许可证,远程会话连接已断开。请跟服务器管理员联系。” 2、按 win+R 键 打开运行,输入regedit 然后按 确定 3、然后进入 HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Terminal Server RCM GracePeriod ,选中 GracePeriod 然后右键 点击 权限

    2024年02月13日
    浏览(48)
  • spring工程的启动流程?bean的生命周期?提供哪些扩展点?管理事务?解决循环依赖问题的?事务传播行为有哪些?

    Spring工程的启动流程主要包括以下几个步骤: 加载配置文件:Spring会读取配置文件(如XML配置文件或注解配置)来获取应用程序的配置信息。 实例化并初始化IoC容器:Spring会创建并初始化IoC容器,即ApplicationContext。在这一步,Spring会解析配置文件,并将配置的Bean实例化。

    2024年02月12日
    浏览(38)
  • 微服务分布式事务处理

    当我们向微服务架构迁移时,如何处理好分布式事务是必须考虑的问题。这篇文章介绍了分布式事务处理的两种方案,可以结合实际采用合适的解决方案。原文:Handling Distributed Transactions in the Microservice world [1] 如今每个人(包括我)都在思考、构建微服务,分布式系统是微服

    2024年02月04日
    浏览(45)
  • windows server 2016由于没有远程桌面授权服务器可以提供许可证,远程会话被中断。请跟服务器管理员联系...

    选择 开始 ,单击 运行 ,在打开框中输入 ServerManager ,单击 确定 。 进入 服务器管理器 页面, 选择管理 删除角色和功能 。 进入删除功能和角色页面,选择 服务器角色 。 在 角 色 框中,取消勾选 远程桌面服务 ,其它配置默认,单击 下一步 。 重启Windows实例或重启服务器

    2024年02月16日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包