分散式技術原理與演算法解析 學習筆記 (1)

分散式技術原理與演算法解析 學習筆記 第一章

分散式系統初識

典型的分散式系統:

  • DNS(域名系統):將域名和IP地址相互映射的分散式資料庫,使人更容易訪問互聯網。
  • Blockchain(區塊鏈):分散式賬本

分散式系統定義(wiki):

A distributed system is a system whose components are located on different networked computers (組件分散式部署), which communicate and coordinate their actions by passing messages to one another(分散式協調通訊). The components interact with one another in order to achieve a common goal(共同目標).

分散式系統研究的基本問題:
image.png

自底而上:異構的資源如何池化,進程間如何通訊,數據如何分散式存儲,分散式計算

技術棧:分散式協同, 分散式調度,分散式追蹤與高可用,分散式部署

**業務架構設計的四大要素:**資源(CPU,記憶體,GPU,網路等),通訊,數據存儲,計算

分散式的來源

單機系統缺陷:性能受限,單點失效

  • 數據分散式(數據並行):適用於任務簡單,數據量大,類型相同且彼此之間無依賴
    image.png
    image.png
    image.png
  • 任務分散式(任務並行):任務複雜,但可拆分成多個子任務
    image.png

問題:分散式與傳統並行計算的區別?

答:傳統並行計算:share memory;分散式:distributed memory

分散式系統的基本指標

  • 性能指標:吞吐量(QPS, TPS, BPS),響應時間,完成時間
  • **資源佔用:**空載資源, 滿載資源
  • **可用性:**在部分組件故障情況下系統失效的概率
  • **可擴展性:**通過擴展集群機器規模提高系統性能 、存儲容量、計算能力的特性(加速比,speedup)