摘要: 前言 继上次分析了ZK的ACL相关代码后,ZK里非常重要的另一个特性就是Watcher机制了。其实在我看来,就ZK的使用而言,Watche机制是最核心的特性也不为过了!这一篇先简单介绍下watcher相关的实体类和接口。 Watcher机制 在ZK中,客户端可以为znode向服务端注册监听,当相应z 阅读全文
posted @ 2018-11-06 23:33 SmallMushroom 阅读(704) 评论(0) 推荐(0) 编辑
摘要: 前言 之前看代码的时候也同步看了看一些关于zk源码的博客,有一两篇讲到了ZK里ACL的基础的结构,我自己这边也看了看相关的代码,在这里分享一下! ACL和ID ACL和ID都是有Jute生成的实体类,分别代表了ZK里ACL和不同ACL模式下的具体实体。 ACL: 可以看到,ACL包含了两个域,分别代 阅读全文
posted @ 2018-10-19 00:35 SmallMushroom 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 前言 忙碌的国庆终于结束了。。。回老家参加了好兄弟的婚礼,真是整整忙了一整个假期,不过也贼替他们开心! 假期回来了要好好开始复习了,之前TIJ的笔记好久没写了,这次把第10,11两章的内容写好! 第十章 内部类 就是把一个类的定义放到另一个类的内部。 10.1 创建 普通内部类在外部类的非静态方法中 阅读全文
posted @ 2018-10-08 21:40 SmallMushroom 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 前言 前段时间学了下Paxos,但是一直没有写博客,前两天中秋在外面吃饭突然想起来Paxos的过程,发现有些细节已经记不太清了。这两天又回头看了下,发现自己之前的理解还是有些纰漏,这次再复习印象也加深了不少。 大致过程 两个阶段。 1. prepare阶段 所有的提议者把自己独特的序号发给接收者,有 阅读全文
posted @ 2018-09-28 18:38 SmallMushroom 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 前言 事务日志记录了zk的事务记录,而zk同时有快照机制来记录zk服务器中某一时刻全量内存数据,并写入磁盘中保存。快照机制其实很多框架都提供,也是目前做恢复的一种很主流的机制。 前面第二篇说到Zk内存中数据以树的形式存在内存中,相应的类是DataTree。快照就是基于DataTree,把它序列化然后 阅读全文
posted @ 2018-09-19 21:50 SmallMushroom 阅读(613) 评论(0) 推荐(0) 编辑
摘要: 前言 接着上篇的内容,上一篇主要说了下Zookeeper内部的数据存储基本单位datanode和内存中维护的Datatree,还有和配额有关的三个实体类。具体在zk初始化时是怎么生成datatree等等后面会说。这一篇主要说下事务日志,后面也有用到。 事务日志 关于zookeeper事务日志的格式, 阅读全文
posted @ 2018-09-17 22:14 SmallMushroom 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 前言 在开始写具体的逻辑之前,还需要把zk的数据管理和事务的日志与保存了解得更深入一些。这部分内容不少,下面几篇都会是相关的内容。 内存数据 zk的数据结构模型是基于ZNode的树状模型。在ZK内部通过类似内存数据库的方式保存了整棵树的内容,并定时写入磁盘。 zk的内存数据放在DataTree中,它 阅读全文
posted @ 2018-09-11 21:45 SmallMushroom 阅读(1429) 评论(0) 推荐(0) 编辑
摘要: 前言 最近开始了Zookeeper的源码阅读和分析,也从现在开始把之前和现在学习到的一些Zookeeper的源码知识和我的一些理解放到博客上。不得不说这是自己第一次去完整的看一个开源项目的完整源码,从开始的第一步感觉就遇到了坑= =而且多少还有些面对庞大代码的茫然。在整个过程中(过程还没完,到现在为 阅读全文
posted @ 2018-09-08 22:48 SmallMushroom 阅读(1047) 评论(1) 推荐(0) 编辑
摘要: 分布式系统基本概念 二 前言 最近工作上又开始做C++方面的东西。。。因为对C++不是很熟悉,所以花了一些时间在读代码和做新feature上,下班也比较晚。只能晚上稍微晚一点看一写分布式系统知识和Zookeeper的源码。这里总结下最近学的一些基本概念吧。 2PC&3PC 首先介绍下最近学的一些博客 阅读全文
posted @ 2018-08-26 23:41 SmallMushroom 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 前言 TIJ第7,8,9章分别讲的是类的复用,多态和接口,这些特性在Java中不得不说都是特别特别重要的。之前校招面试的时候其实一直心里有个疑问,Java那么多底层特性真的工作上用得着么,不会是面试造火箭什么的吧。但是真正工作之后静下来去学习才发现,要想真正理解Java里的很多表面的语法和特点,必须 阅读全文
posted @ 2018-08-19 21:41 SmallMushroom 阅读(228) 评论(0) 推荐(0) 编辑