![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
zookeeper
zookeeper学习
普通网友
这个作者很懒,什么都没留下…
展开
-
zookeeper源码分析05 leader选举
FastLeaderElection,其是标准的fastpaxos算法的实现,基于TCP协议进行选举。LeaderElection,也表示一种选举算法,其在3.4.0之后的版本中已经不建议使用FastLeaderElectionFastLeaderElection选举算法是标准的Fast Paxos算法实现,可解决LeaderElection选举算法收敛速度慢的问题。服务器状态LOOKING不确定Leader状态。该状态下的服务器认为当前集群中没有Leader,会发起Leader选举..原创 2020-05-12 21:55:16 · 178 阅读 · 0 评论 -
zookeeper源码分析04 watcher
直接看WatchManagerWatcherManager类用于管理watchers和相应的触发器1.先判断入参的watcher,如果是dead,则直接返回false2.根据路径获取所有的watcher3.如果获取不到watcher列表,就初始化一个空的4.入参的watcher增加到watcher列表5.通过watcher获取所有路径paths,最后设置到watcherModemanager++++++++++++++++++++++++++++++++++++++...原创 2020-05-12 21:42:59 · 116 阅读 · 1 评论 -
zookeeper源码分析03 持久化
持久化分为zookeeper 快照和 事务日志原创 2020-05-12 13:27:20 · 145 阅读 · 0 评论 -
zookeeper源码分析02 序列化
核心接口InputArchive和OutputArchive输入流具体实现BinaryInputArchive 反序列化从zookeeper的配置中读取extraMaxBuffer大小,Math.max(1024,extraMaxBuffer)从输入流中读取字节byte还可以从输入流中读取以下不同的数据类型输出流OutputArchive 序列化各种数据类型,写到输出流out里面...原创 2020-05-12 12:02:21 · 137 阅读 · 0 评论 -
zookeeper源码分析01 代码结构
java 总共840个类,16.5w 行代码下面看下各个包的功能1.zookeeper-assembly :组件描述文档2.zookeeper-client :客户端,目前只支持c3.zookeeper-contrib :附加的功能4.zookeeper-doc : 文档相关5.zookeeper-jute :zookeeper序列化组件6.zookeeper-metrics-providers: 监控相关,目前支持普罗米修斯 prometheus7.zookeep...原创 2020-05-12 11:36:34 · 283 阅读 · 0 评论 -
干掉 "ZooKeeper",阿里为什么不用 ZK 做服务发现
转载占小狼的博客https://mp.weixin.qq.com/s/gFsWM75R7BJkTolwAInRjw2007年底,淘宝开启一个叫做“五彩石”的内部重构项目,这个项目后来成为了淘宝服务化、面向分布式走自研之路,走出了互联网中间件体系之始,而淘宝服务注册中心ConfigServer于同年诞生。2008年前后,Yahoo 这个曾经的互联网巨头开始逐渐在公开场合宣讲自己的大数据分布式协调产品 ZooKeeper,这个产品参考了Google 发表的关于Chubby以及 Paxos 的论文。..原创 2020-05-11 10:04:19 · 283 阅读 · 0 评论 -
zookeeper 知识点01
ZooKeeper 是一个开源的分布式协调服务。它是一个为分布式应用提供一致性服务的软件,分布式应用程序可以基于 Zookeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能 有序性是 zookeeper 中非常重要的一个特性,所有的更新都是全局有序的,每个更新都有一个唯一的时间戳,这个时间戳称为 zxid(Zo...原创 2020-05-10 23:41:02 · 163 阅读 · 0 评论