6.824分佈式系統學習筆記

Lecture 1:Introduction

爲什麼需要分佈式系統?

  1. 並行,多機能提供解決問題效率
  2. 容錯,多機器可以有效降低系統出錯概率,當一臺機器宕機後,另一臺機器依舊能工作
  3. 解除物理限制,分佈在多地的機器能相互通信
  4. 安全性與隔離性,

lab

  1. MapReduce
  2. Raft協議
  3. K/V server
  4. shared K/V service

Performance --Scalability可拓展性。意思就是如果從一臺機器變成兩臺機器,系統的性能(吞吐量)能提高一倍,就是高可拓展性。
Fault Tolerance容錯性。容錯性可從Availability可提供性,Recoverability恢復性來體現,常用的手段就是非易失存儲、複製副本等方法
Consistency一致性。 可以分成強一致性和弱一致性,強一致性保證分佈式節點之間一定要數據保持一致(需要一致保持節點通信,很消耗性能),而弱一致性則不用時刻保持(因爲爲了保證數據安全,常常把數據副本放在相差很遠的兩個地方,通信延遲很大,對於一致性要求不高的數據,所以不用時刻保持一致,如一天同步一次之類的)。
MapReduce

Lecture 2:RPC and Threads

Thread,第一點,併發的基礎,是操作系統調度的基本單位,第二點,在多核時代,線程的概念尤爲重要,其可能提供真正的並行能力,第三點,提供方便性,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章