本文涉及项目源于张天戈老师的高级软件开发技术课设,语言使用 Typescript,任务是对论文 Why Functional Programming Matters,中间有反复参考函数式编程的 术语 和 Typescript 的 文档。
本文涉及项目源于张天戈老师的高级软件开发技术课设,语言使用 Typescript,任务是对论文 Why Functional Programming Matters,中间有反复参考函数式编程的 术语 和 Typescript 的 文档。
TODO
客户端发送的命令会被 leader
包装成一个 entry 并添加到它的日志中,然后广播 append 消息让其他服务器复制日志。当 entry 被安全复制后,leader
上的复制状态机会应用其内部命令,并返回执行结果给客户端。另外,即使 leader
已经答复了客户端,为了满足一致性,也会对那些因为网络、奔溃或运行缓慢等而没成功复制日志的服务器重复发送 append 消息。服务器底层日志本质是一个 entry 数组,每个 entry 包含一条命令和 term(指代 entry 创建时所处的任期或者说接收到客户端命令的 leader
的任期)。
背包问题探讨了如何用有限背包去装入尽可能多或者尽可能贵的物品,或者说用有限空间换取最大价值的问题。当然,问题是多样化的,我们需要将问题中涉及到的资源抽象对应到背包的空间和价值两个维度上。
我们将在 Lab2 中实现一个 Raft 系统,Raft 本身是一个分布式一致性算法。工欲善其事必先利其器,本实验难度较高,所以我先读 Raft 论文,再看助教写的 guide。为了方便理解协议的运作过程,我还去了 Raft 官网,并反复观看 Raft 可视化动画。
MIT 6.824 Lab1 构建一个 MapReduce 系统
遵循 lab 页 指导,并在本地部署好项目。我在观摩完 mrsequential 部分的代码后,再结合 MapReduce 论文,理清了基本思路。
早上精神正好时,我慢悠悠地做题,时不时刷会儿短视频,再看看热点新闻,大把精力就浪费在这些无聊的地方。抬手一看表,将将 11 点,下午和晚上还有 12 小时,于是吃饭散步午觉。