随笔分类 - MIT6.824
分布式系统
摘要:Snapshot() 状态机保存快照之后会调用Raft的这个函数,丢弃已经快照过的日志 按照官方提示首先实现Snapshot(index),因为日志修剪之后log[0]的index并不是0,要修改脚本把用到log[i]的地方都要减去log[0]的index,这个index是快照保存的最后一个inde
阅读全文
摘要:实验介绍 这个实验是在之前几个Lab的基础上实现数据的分片存储,就像Spanner视频里面说的那样,把相同key值的数据存储到一个group里面,这样在写入类似 A:XXX B:XXX C:XXX 数据的时候可以并行的往3个group里面插入XXX. 服务包含两个组件,replica groups和
阅读全文
摘要:Lab3主要是实现一个容错的KV数据库,并用Lab2的Raft服务,在每台运行Raft的peer上构建一个状态机. 3A 跟着课程提示一步步走,补全client.go中的sendRPC和server.go中的处理方法,跑basic3Atest遇到如下错误 FAIL: TestBasic3A (16.
阅读全文
摘要:2C的测试写好如下两个函数,然后在currentterm votedfor log这三个变量改变的时候调用persist就好,运行测试案例,有两个有两个案例fail,重点看下这两个测试案例. func (rf *Raft) persist() { // Your code here (2C). //
阅读全文
摘要:TODO 官方动画 https://raft.github.io/raftscope/index.html 完成TestBasicAgree2B测试,实现Start()函数,编写AppendEntries代码实现log entry的发送和接收,通过applyCh发送和接收log entry. 实现e
阅读全文
摘要:常用命令 批量测试 python3 dstest.py InitialElection ReElection -r 方便展示日志 python3 dslogs.py ./20221212_114239/InitialElection_1.log -c 3 TODO 用命令 VERBOSE=1 go
阅读全文
摘要:Fault-Tolerant Virtual Machines 摘要 VM FT是从机器级别进行复制,可以使得任意软件都具有容错性 在商业服务器上,对性能影响低于10%,主备服务器间的通信带宽约20Mbit/s,可用于远距离备份. 通过执行与主服务器相同的输入(磁盘读,键盘输入,网络输入等)来备份,
阅读全文
摘要:
阅读全文
摘要:MIT6.824 LEC3 GFS 的 FAQ 翻译
阅读全文