分散式系統學習思路
分散式系統一般分為分散式K/V系統、分散式檔案系統和分散式資料庫等幾個大類,在學習這幾類系統的時候,需要掌握的知識或技能應該包括計算機基礎知識、分散式演算法和協議相關論文、分散式系統設計範型相關論文、開源的分散式系統案例以及造相關的輪子。
基礎知識
根據博主目前經驗來看,學習分散式系統首先要掌握以下基礎知識:
- OS相關
- 體系結構相關
- Unix系統程式設計
- Unix網路程式設計
- 併發程式設計
- 常用資料結構和演算法
論文
分散式系統的論文主要分為兩大方面,一方面是演算法或者協議相關的論文,另一方面是系統設計相關的。
演算法或者協議相關
-
Byzantine General
-
paxos
paxos made simple 和 paxos made live
- raft
- cap base
- 2pc 3pc
- leases
- acid
- time and ordering
Time Clocks and the ordering of Events in a Distributed System
Virtual Time and Global States of Distributed System
Distributed Snapshots: Determining Global States of a Distributed System
- mvcc
- gossip
- consensus
- load balancing algorithms
系統設計範型相關
- google file system
- bigtable
- mapreduce
- chubby
- spanner
- dynamo
- megastore
- dremel
- pregel
- percolator
- Sinfonia: A New Paradigm for Building Scalable Distributed Systems
- google f1
- Windows Azure Storage: A high available cloud storage service with strong consistency
- facebook haystack
開源系統範例
主要分為分散式K/V,分散式檔案系統和分散式資料庫三個方面。
分散式K/V系統
- redis cluster
- tair
分散式檔案系統
- hdfs
- ceph
- swift
- lustre
- taobao filesystem
分散式資料庫
- clustrix
- VoltDB
- MemSQL
造輪子
可以自己造分散式K/V系統、分散式檔案系統、分散式資料庫系統的輪子,簡單的,可以從分散式K/V系統開始。
整個思路
- 對於基礎知識部分,有盲點就補
- 對於論文模組,常見的分散式演算法、協議論文,經典的系統範型相關論文需要精讀
- 對於開源系統模組,在學習完論文之後,每個部分精讀一個系統的程式碼,其他的系統瞭解實現原理
- 對於造輪子,可以儘早開始,先按照自己思路來造,後面通過讀論文、讀開源系統來發現自己系統的缺陷,不斷完善即可
最後,本文只是一個思路,很多東西還沒有細化,需要不斷完善。
相關文章
- 分散式系統學習筆記分散式筆記
- 分散式系統的架構思路分散式架構
- 彈性分散式深度學習系統分散式深度學習
- Hadoop學習(一)——HDFS分散式檔案系統Hadoop分散式
- Google分散式檔案系統GFS論文學習Go分散式
- 知識學習綜合三---分散式系統大資料分散式大資料
- 帶著問題學習分散式系統之資料分片分散式
- 分散式系統:系統模型分散式模型
- 分散式 - 分散式系統的特點分散式
- 分散式系統(三)——分散式事務分散式
- 分散式學習記錄分散式
- 分散式理論學習分散式
- [分散式]分散式計算系統淺析分散式
- ElasticDL: Kubernetes-native 彈性分散式深度學習系統AST分散式深度學習
- 深度學習:基於K8S的分散式Tensorflow系統深度學習K8S分散式
- 分散式系統的跟蹤系統分散式
- [業界方案] 用SOFATracer學習分散式追蹤系統Opentracing分散式
- [業界方案]用Jaeger來學習分散式追蹤系統Opentracing分散式
- 分散式圖片系統分散式
- 分散式系統(二)——GFS分散式
- 分散式系統基礎分散式
- 分散式檔案系統分散式
- 冰激凌和分散式系統分散式
- 關於分散式系統分散式
- 學習etcd分散式鎖分散式
- python 學習 -- 分散式程式Python分散式
- 分散式計算如果學習分散式
- 嵌入式系統要如何學習?帶你瞭解嵌入式系統學習方法
- 大型分散式系統現場,阿里大牛帶你實戰分散式系統分散式阿里
- 分散式:分散式系統下的唯一序列分散式
- paxos-分散式系統資料一致性演算法學習分散式演算法
- 什麼是分散式系統!以及分散式系統架構的優缺點!分散式架構
- 新人如何學習嵌入式系統
- 多工學習分散式化及聯邦學習分散式聯邦學習
- HDFS分散式檔案系統分散式
- 分散式檔案系統-HDFS分散式
- 我理解的分散式系統分散式
- 分散式系統:向量時鐘分散式