摘要: ##课程地址 ##raft论文中文翻译 ##lab必看的guidance Part C Part C 主要实现的是持久化,raft有三个persistent state:currentTerm,votedFor,log。这几个是无法再次重新计算出来,所以说它们是必须落盘的。 volatile sta 阅读全文
posted @ 2021-03-02 17:38 LWenH 阅读(579) 评论(0) 推荐(0) 编辑
摘要: ##课程地址 ##raft论文中文翻译 ##lab必看的guidance ##代码完整实现 ##Part B Part B 主要实现的是日志复制和选举限制,这个是raft最难也是最关键的部分。在实验中,我们必须遵循raft的几个重要原则: ###1.如果在不同的日志中的两个条目拥有相同的索引和任期号 阅读全文
posted @ 2021-03-02 11:18 LWenH 阅读(782) 评论(0) 推荐(0) 编辑
摘要: ###给定以下的EBNF: lexp --> atom | list atom --> number | identifier list --> (lexp - seq) lexp-seq --> lexp lexp-seq' lexp-seq' --> lexp lexp-seq'| ε 打印出编 阅读全文
posted @ 2021-02-26 22:19 LWenH 阅读(114) 评论(0) 推荐(0) 编辑
摘要: ##课程地址 ##raft论文中文翻译 ##lab必看的guidance ##Part B详解(核心) ##代码完整实现 ##Part A ###PartA的任务主要是实现领导人选举和心跳机制,因为不要求实现日志复制和校验功能,所以实现起来比较简单。这里必须要小心的是计时器的实现,课程推荐不要用go 阅读全文
posted @ 2021-02-09 22:54 LWenH 阅读(744) 评论(0) 推荐(0) 编辑
摘要: 在装vim-go插件遇到的一大堆缺包问题,尝试GoInstallBinaries时候一大堆request timeout, dial tcp 172.217.24.17:443: i/o timeout,其实就是go get在国内不可用。 网上大多都是叫你去 git clone https://gi 阅读全文
posted @ 2020-05-16 23:58 LWenH 阅读(861) 评论(0) 推荐(0) 编辑
摘要: 1.Scalability 多加一台机器可多做一件事,这个就叫scalability,亦可为两台机器做一件事的时间减少为一半,叫 scalability speed up。 2.Parallelism 并行,跟concurrency不一样,这张图能很好说明区别: 3.Fault tolerance 阅读全文
posted @ 2020-05-15 23:46 LWenH 阅读(263) 评论(0) 推荐(0) 编辑