架構(gòu)設(shè)計學(xué)習(xí)資料匯總

Medium上的這篇文章介紹了作者學(xué)習(xí)系統(tǒng)架構(gòu)的一些在線資源蕾殴,可以幫助架構(gòu)設(shè)計的初學(xué)者盡快了解架構(gòu)的基本設(shè)計原則员舵,了解常見場景的設(shè)計方案棒仍。原文:System Architecture — System Design Materials[1]

子曰:“工欲善其事必先利其器”讯柔。

今天通過這篇文章跟大家分享一些系統(tǒng)架構(gòu)設(shè)計方面的學(xué)習(xí)資料抡蛙,讓我們一起成長。

System Design Tips and Introduction (中文, Youtube)[2]
The System Design Primer (中文/英文, Github)[3]
Intro to Architecture and Systems Design Interviews (英文, Youtube)[4]
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems (中文版《數(shù)據(jù)密集型應(yīng)用系統(tǒng)設(shè)計》, Book)[5][6]
system design interview questions (英文, Github)[7]
System Design Interview – Step By Step Guide (英文, Youtube)[8]
Distributed Systems (英文, Book)[9]
Distributed systems for fun and profit (英文, Book)[10]
6.824: Distributed Systems (英文, Course)[11]
Concurrent and Distributed Systems (英文, Course)[12]
15-440: Distributed Systems Syllabus (英文, Course)[13]
CS244b: Distributed Systems (英文, Course)[14]
CSE 490H: Distributed Systems (英文, Course)[15]
Apache Hadoop (Open source, Github)[16]
SeaweedFS (Open source, Github)[17]
MinIO (Open source, Github)[18]
TiDB (Open source, Github)[19]
etcd (Open source, Github)[20]
Apache ZooKeeper (Open source, Github)[21]
Apache Spark (Open source, Github)[22]
Apache Flink (Open source, Github)[23]
Ray (Open source, Github)[24]
Notes on Distributed Systems for Young Bloods (英文, Blog)[25]
Distributed systems theory for the distributed systems engineer (英文, Blog)[26]
分布式系統(tǒng) (中文, Blog)[27]
Distributed Systems Reading Group (英文, Paper)[28]
awesome-distributed-systems (英文, Github)[29]
Grokking the System Design Interview (英文, Course)[30]
Tech Dummies Narendra L (英文, Youtube)[31]
Design video sharing platform (英文, Blog)[32]
System Design Basics (英文, Youtube)[33]
code karle (英文, Youtube)[34]
System Design Introduction For Interview (英文, Youtube)[35]
Distributed Systems (英文, Youtube)[36]
System Design (中文, Gitbook)[37]
CS6213 Special Topics in Distributed Computing (英文, Course)[38]


分布式系統(tǒng)
  1. 基本問題: 時間問題磷杏,一致性問題溜畅,容錯技術(shù),共識算法极祸,并發(fā)控制
  2. 基本定理: CAP, PACELC, FLP

CAP theorem (英文, Wikipedia)[39]
PACELC theorem (英文, Wikipedia)[40]
Consensus (英文, Wikipedia)[41]

  1. 生產(chǎn)系統(tǒng): MapReduce, Spark, GFS, Dynamo和Cosmos

MapReduce (英文, Wikipedia)[42]
Apache Spark (英文, Wikipedia)[43]
Google File System (英文, Wikipedia)[44]
Dynamo (英文, Wikipedia)[45]
Cosmos (英文, Wikipedia)[46]


系統(tǒng)架構(gòu)設(shè)計需要考慮的問題
  1. 可靠性(Reliable)
  2. 可擴展性(Scalable)
  3. 可維護性(Maintainable)
  4. 存儲與檢索(Storage and Retrieval)
  5. 冗余備份(Redundancy/Replication)
  6. 分片分區(qū)(Fragmentation/Partition)
  7. 事務(wù)(Transactions)
  8. 一致性(Consistency)
  9. 共識(Consensus)
  10. 批處理/流處理(Batch processing/stream processing)

如何準備系統(tǒng)設(shè)計面試
  1. 找相關(guān)的博客學(xué)習(xí)
  2. 坦率的說,面試不會問得非常深入怠晴,不過如果有機會解釋清楚遥金,就能給面試官留下更好的印象
  3. 試著設(shè)計一些東西,寫下功能性/非功能性的需求蒜田,畫出設(shè)計圖稿械、數(shù)據(jù)流、流程流冲粤,并考慮商業(yè)模型從而幫助系統(tǒng)盈利美莫,并考慮如何各個組件如果崩潰需要如何處理。
  4. 明確設(shè)計的取舍
  5. 保持自信
  6. 不要試圖炫耀梯捕,你可能只是了解了某一方面厢呵,但其他方面你并不了解。
  7. 注意觀察面試官傀顾,如果發(fā)現(xiàn)面試官對這部分不感興趣襟铭,就不要花太多時間。
  8. 不要輕易放棄自己的意見短曾,面試官質(zhì)疑候選人是常規(guī)操作寒砖。不要因為面試官的挑戰(zhàn)、質(zhì)疑就覺得自己錯了嫉拐。

References:
[1] System Architecture — System Design Materials: https://jinlow.medium.com/system-architecture-system-design-materials-52705af6c155
[2] System Design Tips and Introduction: https://youtu.be/th_73AVA4dY?list=PLAd5bt5mn3V3TrrJFBpnu4PH9e8KZMvNA
[3] The System Design Primer: https://github.com/donnemartin/system-design-primer
[4] Intro to Architecture and Systems Design Interviews: https://youtu.be/ZgdS0EUmn70
[5] Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems: https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-Maintainable/dp/1449373321
[6] 數(shù)據(jù)密集型應(yīng)用系統(tǒng)設(shè)計: https://book.douban.com/subject/30329536/
[7] system design interview questions: https://github.com/jaychsu/FreemanZhang-system-design
[8] System Design Interview – Step By Step Guide: https://youtu.be/bUHFg8CZFws
[9] Distributed Systems: https://www.distributed-systems.net/index.php/books/ds3/
[10] Distributed systems for fun and profit: http://book.mixu.net/distsys/index.html
[11] 6.824: Distributed Systems: https://pdos.csail.mit.edu/6.824/schedule.html
[12] Concurrent and Distributed Systems: https://www.cl.cam.ac.uk/teaching/2021/ConcDisSys/materials.html
[13] 15-440: Distributed Systems Syllabus: https://www.cs.cmu.edu/~dga/15-440/S14/syllabus.html
[14] CS244b: Distributed Systems: http://www.scs.stanford.edu/20sp-cs244b/
[15] CSE 490H: Distributed Systems: https://courses.cs.washington.edu/courses/cse490h/11wi/
[16] Apache Hadoop: https://github.com/apache/hadoop
[17] SeaweedFS: https://github.com/chrislusf/seaweedfs
[18] MinIO: https://github.com/minio/minio
[19] TiDB: https://github.com/pingcap/tidb
[20] etcd: https://github.com/etcd-io/etcd
[21] Apache ZooKeeper: https://github.com/apache/zookeeper
[22] Apache Spark: https://github.com/apache/spark
[23] Apache Flink: https://github.com/apache/flink
[24] Ray: https://github.com/ray-project/ray
[25] Notes on Distributed Systems for Young Bloods: https://www.somethingsimilar.com/2013/01/14/notes-on-distributed-systems-for-young-bloods/
[26] Distributed systems theory for the distributed systems engineer: https://www.the-paper-trail.org/post/2014-08-09-distributed-systems-theory-for-the-distributed-systems-engineer/
[27] 分布式系統(tǒng): https://www.qtmuniao.com/categories/%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/
[28] Distributed Systems Reading Group: http://dsrg.pdos.csail.mit.edu/papers/
[29] awesome-distributed-systems: https://github.com/theanalyst/awesome-distributed-systems
[30] Grokking the System Design Interview: https://www.educative.io/courses/grokking-the-system-design-interview?affiliate_id=5749180081373184
[31] Tech Dummies Narendra L: https://www.youtube.com/channel/UCn1XnDWhsLS5URXTi5wtFTA
[32] Design video sharing platform: https://leetcode.com/discuss/interview-question/system-design/496042/Design-video-sharing-platform-like-Youtube
[33] System Design Basics: https://youtu.be/xpDnVSmNFX0?list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX
[34] code karle: https://www.youtube.com/channel/UCZEfiXy7PmtVTezYUvc4zZw
[35] System Design Introduction For Interview: https://youtu.be/UzLMhqg3_Wc?list=PLrmLmBdmIlps7GJJWW9I7N0P0rB0C3eY2
[36] Distributed Systems: https://youtu.be/UEAMfLPZZhE?list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB
[37] System Design: https://xunhuanfengliuxiang.gitbooks.io/system-desing/content/
[38] CS6213 Special Topics in Distributed Computing: https://ilyasergey.net/CS6213/index.html
[39] CAP theorem: https://en.wikipedia.org/wiki/CAP_theorem
[40] PACELC theorem: https://en.wikipedia.org/wiki/PACELC_theorem
[41] Consensus: https://en.wikipedia.org/wiki/Consensus_%28computer_science%29
[42] MapReduce: https://en.wikipedia.org/wiki/MapReduce
[43] Apache Spark: https://en.wikipedia.org/wiki/Apache_Spark
[44] Google File System: https://en.wikipedia.org/wiki/Google_File_System
[45] Dynamo: https://en.wikipedia.org/wiki/Dynamo_%28storage_system%29
[46] Cosmos: https://en.wikipedia.org/wiki/Cosmos_%28operating_system%29

你好哩都,我是俞凡,在Motorola做過研發(fā)婉徘,現(xiàn)在在Mavenir做技術(shù)工作漠嵌,對通信咐汞、網(wǎng)絡(luò)、后端架構(gòu)献雅、云原生碉考、DevOps、CICD挺身、區(qū)塊鏈侯谁、AI等技術(shù)始終保持著濃厚的興趣,平時喜歡閱讀章钾、思考墙贱,相信持續(xù)學(xué)習(xí)、終身成長贱傀,歡迎一起交流學(xué)習(xí)惨撇。
微信公眾號:DeepNoMind

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市府寒,隨后出現(xiàn)的幾起案子魁衙,更是在濱河造成了極大的恐慌,老刑警劉巖株搔,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件剖淀,死亡現(xiàn)場離奇詭異,居然都是意外死亡纤房,警方通過查閱死者的電腦和手機纵隔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來炮姨,“玉大人捌刮,你說我怎么就攤上這事∈姘叮” “怎么了绅作?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長吁津。 經(jīng)常有香客問我棚蓄,道長,這世上最難降的妖魔是什么碍脏? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任梭依,我火速辦了婚禮,結(jié)果婚禮上典尾,老公的妹妹穿的比我還像新娘役拴。我一直安慰自己,他們只是感情好钾埂,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布河闰。 她就那樣靜靜地躺著科平,像睡著了一般。 火紅的嫁衣襯著肌膚如雪姜性。 梳的紋絲不亂的頭發(fā)上瞪慧,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天,我揣著相機與錄音部念,去河邊找鬼弃酌。 笑死,一個胖子當著我的面吹牛儡炼,可吹牛的內(nèi)容都是我干的妓湘。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼乌询,長吁一口氣:“原來是場噩夢啊……” “哼榜贴!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起妹田,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤唬党,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鬼佣,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體初嘹,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年沮趣,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坷随。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡房铭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出温眉,到底是詐尸還是另有隱情缸匪,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布类溢,位于F島的核電站凌蔬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏闯冷。R本人自食惡果不足惜砂心,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蛇耀。 院中可真熱鬧辩诞,春花似錦、人聲如沸纺涤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至外永,卻和暖如春崎脉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背伯顶。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工囚灼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人砾淌。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓啦撮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親汪厨。 傳聞我的和親對象是個殘疾皇子赃春,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容