摘要: lab4是实现一个基于Percolator模型的分布式事务。 lab4a lab4a是介绍三种Column Family的作用和协作,分别包括CfDefault, CfWrite, CfLock。 CfDefault是暂存实际数据的cf, CfWrite是写入时间的记录,CfLock是该数据的锁。数 阅读全文
posted @ 2022-03-19 15:25 codexyz 阅读(301) 评论(0) 推荐(0)
摘要: lab2c lab2c是增加Raft状态机对快照的支持,因为日志不可能无限增长,所以在增长到一定程度时,我们需要通过压缩成快照的方式来把这个Index之前的所有日志压缩成一个最后的变更状态。 Raft状态机修改 引入日志之后,RaftLog的firstIndex不再是l.entries的首元素的In 阅读全文
posted @ 2022-03-19 14:10 codexyz 阅读(304) 评论(0) 推荐(0)
摘要: lab2b 集群视图下的日志的复制和状态的写入。 与lab2a相比,lab2b需要阅读大量代码了解整个集群是怎么工作的。首先,我们要对整个集群有个大概的了解(可以看文档)。 node和store看作等价的就行 可以看到,一个node上面可以跑多个Raft实例(叫做Peer/RaftGroup),每个 阅读全文
posted @ 2022-03-19 13:25 codexyz 阅读(542) 评论(0) 推荐(0)