当前位置: 首页 > news >正文

免费设计logo的网站有哪些咋做抽奖网站

免费设计logo的网站有哪些,咋做抽奖网站,腾讯网络游戏大全列表,南京网站建设网站制作 雷仁网络文章目录 前言Zookeeper启动加载磁盘数据与客户端的通信交互Leader选举准备节点状态处理总结 前言 Zookeeper 作为分布式协调服务为分布式系统提供了一些基础服务#xff0c;如#xff1a;命名服务、配置管理、同步等#xff0c;使得开发者可以更加轻松地处理分布式问题。 … 文章目录 前言Zookeeper启动加载磁盘数据与客户端的通信交互Leader选举准备节点状态处理总结 前言 Zookeeper 作为分布式协调服务为分布式系统提供了一些基础服务如命名服务、配置管理、同步等使得开发者可以更加轻松地处理分布式问题。 在分布式系统中协调是一项关键任务。例如如何让一组独立的进程或机器知道它们应该执行哪些任务如何将它们的状态同步到其他进程或机器上以及如何处理故障或异常等。这些问题都是 Zookeeper 所解决的问题。 本文将带你深入了解 Zookeeper 的内部实现从其各个组件和接口开始分析其工作原理和设计思想。希望你在阅读这个源码分析的过程中能够深入理解 Zookeeper 的工作原理和设计思想从而更好地利用它来解决你的分布式问题。 Zookeeper启动 无论看什么代码我们都应该从程序的入口点入手这样可以更好地理解整体的结构和运行流程。 通过 zkServer.sh 脚本可以看到启动类为QuorumPeerMain。 可以看到Zookeeper启动是通过main方法开始的最终调用了runFromConfig方法设置并启动一个ZooKeeper的集群节点。 上面的代码设置了QuorumPeer的事务日志和快照目录路径、选举算法选择、指定服务器ID、定义时钟周期和数据保存实例等配置。此外还创建了服务器和客户端连接的工厂类NIO/Netty。最后调用start方法启动服务。 在start中主要完成了以下四个任务 将磁盘中的数据加载到内存中为后续的处理和响应提供必要的数据储备。建立Socket来处理客户端的请求实现与客户端的通信交互。进行了Leader的选举准备工作确定选举算法。。进行Leader选举并对节点状态进行监听并相应处理及时发现和处理节点故障或异常状态确保整个系统的可靠性和稳定性。 加载磁盘数据 ZooKeeper 操作事内存级别的为了保障可靠性会将数据以事务日志形式持久化到文件中所以在启动时先加载数据到内存。 这段代码的主要目的是从磁盘加载Zookeeper数据库到内存并检查并处理相关的epoch信息。getDataTree().lastProcessedZxid 这行代码获取在ZooKeeper服务器上已处理的最新的事务的zxidZxidUtils.getEpochFromZxid(lastProcessedZxid)这行代码从zxid中获取epochreadLongFromFile(CURRENT_EPOCH_FILENAME): 这行代码从文件中读取当前的epoch信息。如果zxid所属的epoch小于当前的epoch会抛出IOException异常。 与客户端的通信交互 cnxnFactory 是建立了Socket 服务端用来接收客户端的请求并处理下图中的代码是NIOServerCnxnFactory还有一个NettyServerCnxnFactory。选用NIO还是Netty可以在配置文件中设置。对NIO和Netty不熟悉的可以看下网络编程专栏 最核心的就是对客户端请求的处理有如下几个处理器 CommitProcessor是事务提交处理器它会等待集群内针对Proposal的投票直到该Proposal可以被提交。SyncRequestProcessor负责把事务请求写request持久化到本地磁盘。AckRequestProcessor是Leader特有的处理器其主要职责是在SyncRequestProcessor处理器完成事务日志记录后向Proposal的投票收集器发送ACK反馈以通知投票收集器当前服务器已经完成了对该Proposal的事务日志记录。FollowerRequestProcessor这个处理器可能会负责处理来自客户端的读请求和写请求并将其转发给其他处理器进行处理比如写请求转发给Leader节点。SendAckRequestProcessor负责向领导者Leader节点发送确认收到的消息ACK通知领导者节点该请求已经得到处理。 Leader选举准备 startLeaderElection 中主要调用了createElectionAlgorithm 创建了集群间网络连接的管理器 QuorumCnxManager并选择了一个选举算法这个通过配置文件配置默认为FastLeaderElection。 节点状态处理 super.start()执行 QuorumPeer.java 类中的 run()方法主要是对节点状态的监听及处理。 当 Zookeeper 启动后首先都是 Looking 状态通过选举让其中一台服务器成为 Leader其他的服务器成为 Follower。如果代码比较难理解可以看一下ZAB协议。 总结 通过深入解析源代码我注意到其简洁性以及对功能实现的巧妙设计。尽管代码所处理的功能相当复杂但组织结构和代码风格的简洁性使得阅读和理解变得相当容易。特别注意到网络编程的大量应用对连接安全和优化的细致处理。还有其ZAB协议如何巧妙地解决了分布式一致性问题这些细腻的设计理念无疑为分布式系统的开发提供了宝贵的借鉴期待能在未来的工作中将这些思想融入到的代码中。
http://www.hkea.cn/news/14408103/

相关文章:

  • 个体营业执照网站建设优化加盟代理
  • 上海网站 建设景观设计师做交通分析常用网站
  • 如何修改网站后台时间南充做网站略奥网络
  • 大型网站建设兴田德润赞扬直播平台推荐
  • 网站建设责任分工永年网站制作
  • 让别人做一个网站需要多少钱手机网址打不开怎么解决
  • asp在网站开发中的作用企业建网站群
  • 网站建设dw 什么软件建网站定制
  • 网站自己做流量湛江网站网站建设
  • 惠州附近做商城网站建设哪家好中国菲律宾签证
  • 互联网保险论文企业网站搜索引擎优化方案
  • 青浦华新网站建设深圳网络推广公司有哪些
  • 网站的宣传推广包括dw个人简历网页制作
  • 网站敏感词汇个人养老保险缴费标准
  • 聚美优品网站建设导向图灵机器人 wordpress
  • 英语培训东莞网站建设哪个网站空间好
  • 如何申请网站合肥网站建设哪个公司做得比较好
  • 网站建设分前端和后台吗安阳门户网站
  • 有经验的企业网站建设访问网站的过程
  • 宁波网站seo苏格网站建设
  • 我想注册网站怎么做网站定制设计制作公司
  • 手机微网站开发教程微信安装到手机
  • 高新区建设局网站如皋做网站的
  • 合肥微网站建设汕头网站建设搭建
  • 东莞网站建设 石佳汽车设计网站
  • 门户网站的功能微信公众号运营一年多少钱
  • 厦门无忧网站建设有限公司网站怎么对接微信支付宝
  • 贵州省住房和城乡建设官方网站wordpress 顶部公告
  • 网站及app开发建设网站需要购买虚拟主机吗
  • 青岛做网站优化哪家好有意思的网站