-
TinyKV Project3 MultiRaftKV
这一节中,最难的就是 Project 3B,引无数英雄竞折腰!!当然撑过 3B,你就解放了。 Membership Change 在 Project3A 中我们需要实现 Leader Transfer 和新增或移除一个 Region 里面的节点,这里并不是很难但是你要处理好细节,不然就是 BUG 满天飞。 Leader Transfer Leader transfer 会作为一条 Admin 指令… -
TinyKV Project2 RaftKV
这一节需要我们实现 Raft,TinyKV Raft 这部分很多都是抄 Etcd 的 Raft 模块。你可以注意到连测试用例都很像。所以这一节我拿到手就会做啊,首先去 Etcd clone 一份源码。我抄的是 Etcd 3.5.1 版本,也就是目前最新版。 TinyKV 中的 Raft 和 6.824 中的 Raft 有很大的不同。这里将整个 Raft 设计为一个状态机,从一端输入消息,从另一端输…- 1.5k
- 0
-
Raft 成员变更的相关问题
之前一直没有深入了解过 Raft 的成员变更,实现也就是在 TinyKV 中搞了一个单步成员变更,以至于在面试的时候,甚至想当然以为成员变更一定要被 apply 后才生效,结果就被挂了。故这里重新梳理一遍,内容是到处扒来的,不一定正确。 直接成员变更存在的问题 如果我们把成员变更当做和普通日志一样,在 apply 时直接应用,可能会使得整个集群产生两个 leader。 当然这些问题只有当原 lea… -
Talent Plan TinyKV 白皮书
前言 最近参加了 PingCAP 的 2021 Talent Plan KV 学习营,大概就是在不到两个月的时间里完成 TinyKV。之前做完了 MIT 6.824 就被人安利过,不过那时候看了一眼 README 就被劝退了,太复杂了。好在项目最后是完成了,就是拿了个低分,挺抑郁的。 正确性:4 个项目的正确性接近了 100%,意料之中,自己是跑了 150 次 bug free 才交上去的。文档:…- 5.5k
- 0
-
2021 MIT 6.824 札记
满打满算花了 25 天完成了 2021 MIT 6.824 的 4 个 lab,这里记录下自己遇到的坑和设计思路,为后续者参考。 这里个人给的难度评级是 Lab 2 > Lab 4 >> Lab 3 = Lab 1。 这里我就简单的记录下自己的设计思路和遇到的坑。 如果大家想要参考更加具体的代码实现,可以看看 https://github.com/OneSizeFitsQuoru…- 5.6k
- 0
❯
搜索
扫码打开当前页
返回顶部
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!