zookeeper
静心不浮躁
这个作者很懒,什么都没留下…
展开
-
Zookeeper源码解析 -- 本地持久化之快照持久化
序言本章的关键词是 SnapShot, FileSnap 实现, 以及实现日志 TxnLog和SnapShot接口的 FileTxnSnapLog ,通过 这几个接口的进行持久化和加载持久化到内存的一些操作。其间涉及 关键数据结构,zk的树形存储结构的设计DataTree 和节点 DataNode,ACL等结构的解说正文zk 里面持久化有两种方式,一种是全量 持久化,一种是增量持久化, 这两种持久化的方式,在其他组件的设计方案里面也有见到,因为全量持久化解决的是持久化...原创 2020-07-31 13:33:39 · 391 阅读 · 0 评论 -
Zookeeper源码解析 -- 本地事务日志持久化之FileTxnLog
序言在各个分布式组件中,持久化数据到本地的思想并不少见,为的是能保存内存中的数据,以及重启后能够重载上次内存状态的值。那么如何行之有效的进行,内存数据持久化到磁盘,怎么样的落盘策略合适,怎么设计持久化数据格式,如何进行记录的日志文件大小扩容,以及如何加载回磁盘数据到内存中,这么一些问题就是值得思考的问题了。 2. 通过这篇文章的分析,我们能够看到一些持久化数据的基本原则,以及一些如何行之有效写数据到磁盘的方式方法(例如 利用稀疏文件,文件空洞,来进行文件大小的占位和填充),以及一些持久化本...原创 2020-07-02 21:15:45 · 596 阅读 · 1 评论 -
Zookeeper源码解析 -- 序列化和解序列化器
序言:1. 序列化器在各个常见库中都是不可或缺的一部分,不管是通过json,probuff,还是zk 中用到的jute设计, 通过阅读序列化器和反解析器,我们能从中得到怎样的工程写法和工程设计的思路,这些是值得总结的。2. apache jute 包下的解析器和反解析器,用到的把解析分散化到个体的设计思路值得学习,具体表现有 不同的bean 的序列化和反序列化应该是要放其本身的类定义里面,通过接口往外暴露序列,反序列化方法,代码从集中式管理到分散式管理,提取出接口统一对外调用...原创 2020-06-24 16:38:50 · 297 阅读 · 0 评论