Mit 6.824筆記(持續更新,歡迎指正)

Introduction

1.什麼是分佈式系統?

  • 核心:通過網絡使一羣計算機通過相互通信來完成一些連貫的任務。
  • 例子:存儲爲大網站或者大數據計算(MapReduce)以及點對點文件共享等等
  • 原因:許多關鍵的基礎設施是分佈式

2.爲什麼人們要構建分佈式系統?(以此獲得更高的性能)

  • 通過並行增加容量(Parallelism)
  • 通過複製來容忍錯誤(fault tolerance)
  • 使計算物理上接近外部實體(Physical)
  • 通過隔離實現安全(security / isolated)
    困難:
  • 併發編程和複雜的交互帶來的各種問題(concurrency)
  • 故障模式、局部故障(partial failure)
  • 難以實現的性能潛力(performance)

3.實驗

  • 實驗1:MapReduce
  • 實驗2:使用Raft進行容錯複製
  • 實驗3:容錯鍵/值存儲(K/V server)
  • 實驗4:分片鍵/值存儲(Shared K/V service)

4.這是一門關於應用程序基礎設施的課程。(Infrastructure)

  • 存儲(Storage)
  • 通信(Communication)
  • 計算(Computation)
    All,最大的目標是:構建一個接口,隱藏分佈複雜性的抽象。(abstractions)

5.主題(考慮抽象)
(1)實現(implementation)

  • RPC、線程(threads)、併發控制(concurrency CH.)。

(2)性能(performance)

  • 目標:用擴展加速(Scalability)即(Nx服務器-> Nx總吞吐量通過並行CPU、磁盤、網絡)
  • 處理更多的負載只需要購買更多的計算機
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章