- 博客(8)
- 收藏
- 关注
原创 zookeeper服务器初始化的过程
在Zookeeper服务器启动期间,首先会进行数据初始化工作,用于将存储在磁盘上的数据文件加载到Zookeeper服务器内存中。初始化流程整体流程图如下: 数据的初始化工作是从磁盘上加载数据的过程,主要包括了从快照文件中加载快照数据和根据事务日志进行数据修正两个过程。1.初始化FileTxnSnapLog。FileTxnSnapLog是Zookeeper事务日志和快照数据访问层,用于衔接上层业
2017-08-16 15:57:23 1973 2
原创 FinalRequestProcessor
FinalRequestProcessor是责任链中的最后一个请求处理器,负责把已经commit的写操作(事务)应用到内存数据库中去,对于读操作则从本机中读取数据并返回给client。创建客户端请求的响应。FinalRequestProcessor是一个同步处理的processor,主要的处理逻辑就在方法processRequest中:如果request.hdr != null,则表明reques
2017-08-16 14:46:18 464
原创 ToBeAppliedRequestProcessor
ToBeAppliedRequestProcessor处理器是Leader的一个内部类,主要是为了维护Leader类的toBeApplied队列,专门用来存储那些已经被 CommitProcessor处理过的可被提交的(已经完成投票)proposal。但是这些proposal还没有应用到本机的内存中(这个工作是由FinalRequestProcessor来完成的)CommitProcessor的pr
2017-08-16 10:33:42 459
原创 CommitProcessor事务提交处理器
这个processor主要负责将已经完成本机submit的request和已经在集群中达成commit(即收到过半follower的proposal ack)的request匹配,并将匹配后的request交给nextProcessor(对于leader来说是ToBeAppliedRequestProcessor)处理。这是个异步处理的processor,它有两个入口:首先对两个队列进行重点介绍:
2017-08-16 10:05:29 1019
转载 Raft一致性算法论文的中文翻译
摘要Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos 算法相同的功能和性能,但是它的算法结构和 Paxos 不同,使得 Raft 算法更加容易理解并且更容易构建实际的系统。为了提升可理解性,Raft 将一致性算法分解成了几个关键模块,例如领导人选举、日志复制和安全性。同时它通过实施一个更强的一致性来减少需要考虑的状态的数量。从一个用户研究的结果可以证明,对于学生而言,R
2017-08-15 09:34:43 431
转载 SyncRequestProcessor事务日志记录处理器
概括SyncRequestProcessor主要用来将事务请求记录到事务日志文件中,同时还会在合适时候触发zookeeper进行数据快照。SyncRequestProcessor是个异步处理的processor,启动后会有一个线程异步获取队列queuedRequests中的request并处理SyncRequestProcessorr负责把事务请求(写request)持久化到本地磁盘,为了提高写磁盘
2017-08-13 15:22:21 749
原创 stl list原理和用法
List的节点template <class T>struct __list_node{typedef void* void_pointer; void_pointer next; //型别为void*,也可以设为__list_node<t>*void_pointer prev;T data;};List的迭代器在Vector中如果进行插入和删除操作后迭代器会失效,List有一个重要的
2017-08-02 14:16:03 811
转载 leveldb(十一):SSTable之2写sstable文件
个人总结:1.由上一篇我们知道了一个sstable文件是由很多个不同的block组成的,其中最重要的两个是Data Block和Index Block。我们知道除了第0层,其他层的sstable都是按key增长的顺序存储kv对的。Data Block就是存储这些kv对的block。每个Data Block管一段key的范围。Index Block就是负责记录每段key是在哪个Data Bl
2017-08-02 11:12:40 619 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人