distributed system
文章平均质量分 81
ctoast001
这个作者很懒,什么都没留下…
展开
-
2021MIT6.824 Lab4总结:ShardKV
commandterm 判断 幂等性原创 2022-01-02 17:27:09 · 808 阅读 · 1 评论 -
2021MIT6.824 Lab3总结:KVRaft
代码地址 https://github.com/c-toast/6.824-golabs-2021 基础概念 在lab2的raft上实现分布式key-value存储服务,该服务需要具备线性性质。所谓线性性质,就是存在一个根据请求的发起时间和回应时间进行排序的请求序列,使得该序列中的读请求能读到上一个写请求后的结果。 MIT6.824 lab3 实现细节 该实验看起来难度不是很大,但做之前需要提前想清楚可能的corner case,并针对这些corner case设计相应的解决方案,才能通过lab的测试。实验原创 2021-11-27 20:03:32 · 728 阅读 · 0 评论 -
2021MIT6.824 Lab2总结:Raft
通过next确定append entry参数中log的内容 通过append entry对落后的server进行同步?? 如何解决脑裂问题:两个分区各自在log中添加了entry,导致新leader无法产生??::Raft 通过比较两份日志中最后一条日志条目的索引值和任期号来定义谁的日志比较新。如果两份日志最后条目的任期号不同,那么任期号大的日志更新。如果两份日志最后条目的任期号相同,那么日志较长的那个更新。 https://thesquareplanet.com/blog/students-guide-t原创 2021-11-07 19:55:31 · 457 阅读 · 0 评论 -
2021MIT6.824 Lab1总结:MapReduce
基础概念 Map:输入为某一个输入文件,输出为若干个Key-Value对。Map根据任务需求,必要时会在该局部输入中运行算法,将输入中的有效信息提取出来并组织成Key-Value的形式。 Reduce:输入为相关的(具有相同key的)Key-Value的集合,输出同样为相关的Key-Value的集合。输出集合的大小往往比输入集合的大小小,很多时候只包含1个Key-Value对。Reduce在相关的Key-Value对上运行算法,对其合并压缩,是负责整合信息的一个函数。 分布式系统的整体工作流程的抽象描述 第原创 2021-10-08 14:25:07 · 230 阅读 · 0 评论