這是6.824分佈式系統課程,我會開始用簡明的介紹我所認爲的分佈式系統。編程
分佈式系統的核心是經過網絡以完成一致任務的一組協做計算機。安全
所以咱們將在本課程中重點介紹各類實例,例如大型網站的存儲或MapReduce等大數據計算之類的東西,還有一些更奇特的事情,例如點對點文件共享,這些都只是咱們研究分佈式系統過程當中的一些示例。微信
全部這些都很重要的緣由是,許多重要的基礎設施都是創建在分佈式系統基礎架構之上的。它們須要一臺以上的計算機來完成工做,或者它自己就須要物理上被分散在多臺計算機上。網絡
在我討論分佈式系統以前,我須要提醒你的是,若是你要從新設計系統,則須要解決一些問題。若是你能夠用一臺計算機解決以上問題,而無需構建分佈式系統,你應該採起單機的方式,這種方案能夠完成不少工做,且老是更容易的。因此在構建分佈式系統以前你應該嘗試其餘方案,由於分佈式系統並不簡單。架構
人們之因此須要使用多臺聯合的計算機,是由於如下緣由:併發
本課程的大部分將與 性能(performance) 和 容錯(fault tolerance) 有關。另外兩點咱們會經過對某些案例的研究來學習。分佈式
你知道全部這些分佈式系統有不少困難(挑戰):性能
所以,本課程就是爲了解決這些問題。一般,問題和解決方案在技術上都頗有趣,對於其中一些困難的問題,有很好的解決方案,而其餘一些問題在現有的分佈式系統則沒有很好的解決方案。學習
如今分佈式系統被用在現實世界的許多系統中,例如大型網站一般由大量計算機構成的分佈式系統來運行。區塊鏈
我剛開始教這門課的時候,分佈式系統是一種學術上的好奇心。人們有時候小規模地使用它,且預感在將來某一天可能會很重要。但如今特別受巨型網站的興起所驅動,出現了大量的數據和大型數據中心。
在過去的二十年中,分佈式系統已經變成計算機基礎架構很是重要的組成部分,這意味着分佈式系統已經引發了人們不少關注,且已經解決了不少問題,可是有不少未解決的問題,因此若是你是一名研究生,或你對研究感興趣,還有不少須要使用分佈式系統解決的問題,以及進行相關研究。
最後,若是你喜歡動手,這是一門很好的課程,由於它有一系列實驗,你將構建一些貼近現實,關注性能和容錯的分佈式系統。因此你會有不少機會練習構建分佈式系統,並使它們正常運行。
更多關於大數據、分佈式、存儲、區塊鏈、Linux相關文章請關注微信公衆號:asympTech漸進線實驗室
Github、知乎、博客園、CSDN、簡書全網惟一id:JasonCeng