欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mit6.824学习笔记

程序员文章站 2022-04-08 22:44:41
分布式系统的提出的最重要目的是:1.大家希望能拥有更多的cpu,内存,硬盘,并行程序2.更高的容错率3.物理限制mapreduce——个人认为是一种计算模型,分为map和reduce两个步骤,map步骤主要是将数据分到不同的机器上,让这些机器执行事先定义好的map函数,从而输出k-v键值对,作为reduce的输入。reduce函数再对不同机器上执行得到的键值对汇总并得到我们想要的结果。gfs——可直接看gfs论文原文或者中文版:https://wenku.baidu.com/vie....

分布式系统的提出的最重要目的是:

          1.大家希望能拥有更多的cpu,内存,硬盘,并行程序

          2.更高的容错率

          3.物理限制

mapreduce——个人认为是一种计算模型,分为map和reduce两个步骤,map步骤主要是将数据分到不同的机器上,让这些机器执行事先定义好的map函数,从而输出k-v键值对,作为reduce的输入。reduce函数再对不同机器上执行得到的键值对汇总并得到我们想要的结果。

gfs——可直接看gfs论文原文或者中文版:https://wenku.baidu.com/view/a1493d9c3086bceb19e8b8f67c1cfad6195fe986.html

primary-backup republication——为了容错要进行主从备份,主从备份主要有两种方式:

                1.状态转移(state transfer)——将各种数据、执行状态从主服务器复制到从服务器。

                2.冗余状态机(Replicated state machine)——为了实现强一致,只需要保存主服务器到达目前状态所执行的操作,以及给出相同的输入数据,就可以进行主从同步。

                主从备份做好后,一旦主服务器出事了,就可以进行主从切换,这样便具有了容错性。

Raft——上面提到的replicated state machine通过集群方式,为客户提供强一致、高可靠的数据服务;所谓强一致,从用户角度看是指永远可以读到最新的写成功的数据,而从服务内部来看指的是所有的state machine中的数据都保持一致;所谓高可靠,是指即使出现网络延迟、丢包、乱序、服务器宕机等情况下,依然可以保证数据的强一致。对于 replicated state machine 来说,会按序读取本地的日志,根据日志中记录的操作来更新状态,而日志的一致性是由一致性模块来保证的,而如何保证各个机器上日志的一致性?这就是raft要解决的核心问题。

关于raft论文的两份中文翻译:

https://www.cnblogs.com/linbingdong/p/6442673.html

https://github.com/maemual/raft-zh_cn/blob/master/raft-zh_cn.md

 

 

本文地址:https://blog.csdn.net/qq_35985044/article/details/107411568