來自Jeff Dean的分布式系統設計模式

來源:互聯網
上載者:User

 

本文是Google院士jeff dean在今年SOCC大會上的一次演講的筆記,主要介紹了一些用於設計分布式系統的模式,原文地址,這次演講的視頻地址(需要安裝Silverlight)。

    1. 將一個大而複雜系統切分為多個服務,而且服務之間依賴儘可能的少,這樣有助於測試,部署和小團隊獨立開發。例子:一個google的搜尋會依賴100多個服務。ike:需要一套機制來確保服務的fault-tolerant,不能讓一個服務的成敗影響全域。
    2. 需要有Protocol Description Language,比如protocol buffers。ike:這樣能降低通訊方面的代碼量。
    3. 有能力在開發之前,根據系統的設計來預測效能,在最下面有一些重要的數字。ike:這樣數字需要記牢。
    4. 設計系統時,不要想做的很全面,而是需要抓住重點。
    5. 為了增量做設計,但不為無限做設計,比如:要為5-50倍的增量做設計,但超過1000倍了,就需要重寫和重新設計了。
    6. 使用備份請求來降低延遲,比如一個處理需要涉及1000台機器,通過備份請求這個機制來避免這個處理被一台慢機器延誤。ike:這個機制非常適合MapReduce。
    7. 使用範圍來分布資料,而不是Hash,因為這樣在語義上比較簡單,並且容易控制。
    8. 靈活的系統,根據需求來伸縮,並且當需求上來的時候,關閉部分特性,比如:關閉拼字檢查。
    9. 一個介面,多個實現。
    10. 加入足夠的觀察和調式鉤子(hook)。

 

圖1. 重要的數字

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.