如何的才能更好的学习MIT6.824分布式系统课程
发布网友
发布时间:2022-04-13 02:35
我来回答
共2个回答
热心网友
时间:2022-04-13 04:05
首先 Google 的入门三篇(GFS / Big Table / Map Rece) 是一定要读的,有个对分布式系统的基本认识,另外需要理解 lamport 老爷子的 logical clock 的思想,之后去读 Raft。
Raft 其实实现一个玩具还是比较容易的,真正难的是在原论文中没有提到的很多工程优化。但是按照原论文的几个 RPC 实现是没啥大问题的,就是有点慢另外吞吐上不去而已。
参考几个 go 的 raft 实现咯,比如 hashicorp 的那个(consul 这个可能测试少了点,也许有 bug),c++ 的 logcabin (diego 自己写的...不过性能呵呵)
几个工业级别的 raft 实现其实不太适合初学者,比如 coreos 的 etcd 和 pingcap 的 tikv(其实这两个 raft 实现本是同根生,都是源自 etcd 的 raft 实现,由 pingcap 和 coreos 两个团队互相维护和开发). 这两个实现做了大量的工程优化,有些地方和原论文有点不一样。不过这两个不管是测试还是生产环境中的检验,都是其他 raft 实现不可比的。
热心网友
时间:2022-04-13 05:23
有一些系统设计基础的话,给你推荐几本书吧:
《面向模式的软件架构 卷4:分布式计算的模式语言》出版社:人民邮电出版社
主要讲分布式计算系统软件的设计和实现。
偏软件方向,相对较专业。
《分布式计算(第二版)》出版社:电子工业出版社
主要介绍分布式计算的数学基础和理论,揭示设计分布式系统的底层问题(通信、协调、同步及不确定)和基本的算法概念及下界技术。
容易理解,适合自学。
《分布式系统原理与范型》出版社:清华大学出版社
全书的第一部分讨论了分布式系统的原理、概念和技术,其中包括通信、进程、命名、同步、一致性和复制、容错以及安全。第二部分给出了一些实际的分布式系统:基于对象的分布式系统、分布式文件系统、基于文档的分布式系统以及基于协作的分布式系统,介绍了一些实际系统的设计思想和实现技术。
容易理解,适合自学。
如何的才能更好的学习MIT6.824分布式系统课程
首先 Google 的入门三篇(GFS / Big Table / Map Reduce) 是一定要读的,有个对分布式系统的基本认识,另外需要理解 lamport 老爷子的 logical clock 的思想,之后去读 Raft。Raft 其实实现一个玩具还是比较容易的,真正难的是在原论文中没有提到的很多工程优化。但是按照原论文的几个 RPC 实现是没...
如何的才能更好的学习MIT6.824分布式系统课程
lab2-lab4合在一起是一个分布式数据库,今年暑假花了一个暑假做完了,收获非常大,为数不多能让人感到激动又有成就感的课程project。但是test很难过,多线程又不能单步,我只能看log找bug。
目前国内数据库学习与人才的培养都有哪些方式? - 知乎
首先,深入学习理论知识。MIT的6.824课程,作为分布式和存储领域的经典课程,是不可或缺的学习资源。学生应积极进行paper阅读和讲座的学习,避免依赖他人代码。完成所有课程、作业(包括实验和项目),理论基础将得到巩固。其次,进一步探索操作系统相关知识。6.S081课程(Fall 2021)强调锁协议调试和操作系统...
Mit6.824 lab2A全解析(推导历程+代码)
实现过程中,需要引入随机超时的概念,确保每个follower在合适的时机进入candidate状态。设置合理的超时时间,比如RaftElectionTimeout为1秒,心跳时间(拉票时间)控制在50毫秒左右。初始化时,为每个raft设置随机的超时时间戳。接下来,candidate开始拉票,为了保证公平竞争,需要通过双向通信来判断请求的合法性。...
想从事分布式系统,计算,hadoop等方面,需要哪些基础,推荐哪些书籍_百度...
您好,很高兴为您解答。课程:MIT 6.824: Distributed Computer Systems Engineering——经典和详细的介绍了分布式系统的技术和工程实现经验,值得每个做分布式系统的人去看一遍,继续锤炼和提高自己的眼界和技术。补充三篇论文:1. Sinfonia: A New Paradigm for Building Scalable Distributed Systems,这篇...