Zookeeper笔记
Zookeeper笔记
ww0peo
这个作者很懒,什么都没留下…
展开
-
Zookeeper笔记⑦——分布式锁和分布式配置中心
分布式锁临时顺序节点监听前一个节点分布式配置中心原创 2019-12-07 12:54:26 · 109 阅读 · 0 评论 -
Zookeeper笔记⑥——领导者选举(转载)
领导者选举的因素zxid:事务idzxid越大代表数据越新,越可能被选上myid:服务器id同理,如果zxid一样就取myid最大的集群启动的时候服务器先会投自己一票,这样会将自己的zxid和sid告诉其他服务器当follower挂掉的时候如果过半机制成功就不会重新选举leader挂掉就会重新选举votesendqueue中放的是要发送的选票WorkSender将sendq...原创 2019-12-07 12:54:15 · 307 阅读 · 0 评论 -
Zookeeper笔记⑤——集群模式一致性的保证(同步数据和客户端请求)
每个服务器会开放三个端口客户端访问的端口负责通过数据,与其他服务器通信的端口负责投票的端口containsQuorum方法负责处理投票处理判断是否过半在配置文将中可以配置peerType属性,这个属性是服务器的类型(一般用于配置观察者)快照和事务日志来实现容灾备份快照会存储着事务id,如果有些数据还没有打快照会像从事务日志中查找,将所有持久化的数据重新执行一遍在集群模式下每一个服...原创 2019-12-07 12:53:42 · 580 阅读 · 0 评论 -
Zookeeper笔记④——监听器触发流程、CloseSession操作和ACL操作
客户端不需要将监听事件发送给服务端服务端只需要将发生的事件发送给客户端就可以了客户端自行判断客户端每次得到事件都是直接从队列中通过remove方法得到事件,所以事件是一次性服务端在修改内存数据的时候才触发了事件如果客户端发送的请求中注册了一个监听器,服务端不论如何都会在请求的时候在自己的一端注册一个ServerCnxn监听器服务端在触发事件的时候会调用监听器的process方法,这个方...原创 2019-12-07 12:53:33 · 1401 阅读 · 0 评论 -
Zookeeper笔记③——单机服务端和客户端流程
客户端客户端流程图如下服务端服务端接受请求1.创建事务日志2.快照,DataBase,文件3.更新内存,操作DataTree4.返回错误或正确信息服务端启动1.从日志文件中将数据导入到DataTree中处理器1.PrepRequestProcessor 接收客户端的请求2.SyncRequestProcessor 持久化数据,同步数据,打快照3.FinalReq...原创 2019-12-07 12:53:17 · 200 阅读 · 0 评论