Midk9t's Blog

MIT 6.824 Lab3B笔记

Lab3B总结 3B的主要目标是给我们基于raft的kvserver增加快照支持,而底层raft的快照我们在2D已经实现了,这次lab的任务就是使用我们的raft底层功能作为支撑,让kvserver能够接受来此底层raft的snapshot install,以及能够在整个raft日志开始变得过大时发送自己状态机作为snapshot给底层raft(因为需要raft将其持久化,以便故障恢复后能发回给上层的kvserver),好让它丢弃之前的日志来自我瘦身。

MIT 6.824 Lab3A笔记

Lab3目标 在顺利完成整个lab2后,我们成功实现了一个基于raft的共享日志库,它是一个日志复制框架,可以把日志可靠地复制到不同节点中,从而实现对日志序列的高可用。在之前的lab2中我们讲到,共识算法的主要作用之一是在无需第三方”arbitrator”介入的前提下,实现一组节点对一组数据达成共识,这一特性使得应用raft的日志集群十分适合用来为分布式系统提供配置相关的数据,如当前leader是谁(leader选举),微服务的真实ip(服务注册发现)等,因为它自身就避免了单点故障,不会因网络分区而引入不正确性。

睡前笔记 588期

主要话题 【睡前消息588】城投债四大网红,柳州第一 最近,柳州在金融市场中的名声不太好,和兰州、潍坊、昆明一起并列地方债“四大网红”,有成为地方债问题爆炸的导火索。最直接的证据是,柳州城投企业欠钱,被全国行业协会公开警告了——3月21日, 柳州东投发布公告,承认中国银行间交易商协会对其发出严重警告处分,职责其募集资金被私自改变用途等违规行为,责令业务自律,并且罕见地要求它在银行间债券市场信息披露平台公开致歉。另一家公司柳州轨交同样受到了相同的处分,其负责的柳州轻轨现在完全处于烂尾状态。

MIT 6.824 Lab2C+D笔记

2C——状态持久化(Persistence) lab 2C是lab 2四个子实验中最简单的了,就是需要学生把论文中提到的需要持久化的状态保存起来,在raft节点宕机恢复之后可以读取,具体来说,需要持久化的字段有:

MIT 6.824 Lab2B笔记

Lab 子任务 在lab 2B中,学生们需要实现raft的log replication,也就是raft作为共识算法所支撑的核心功能:它让各个节点可以在各种情况下都存储同一组系列日志,且对日志的顺序与内容达成共识。这样就可以保证对这组日志的高可用,在无需第三方协调的前提下,避免单点故障。