分散式設計與開發
在IDF05(Intel Developer Forum 2005)上,Intel執行長Craig Barrett就取消4GHz晶片計劃一事,半開玩笑當眾單膝下跪致歉,給廣大軟體開發者一個明顯的訊號,單純依靠垂直提升硬體效能來提高系統效能的時代已結束,分散式開發的時代實際上早已悄悄地成為了時代的主流,吵得很熱的雲端計算實際上只是包裝在分散式之外的商業概念,很多開發者(包括我)都想加入研究雲端計算這個潮流,在google上通過“雲端計算”這個關鍵詞來查詢資料,查到的都是些概念性或商業性的宣傳資料,其實真正需要深入的還是那個早以被人熟知的概念------分散式。
分散式可繁也可以簡,最簡單的分散式就是大家最常用的,在負載均衡伺服器後加一堆web伺服器,然後在上面搞一個快取伺服器來儲存臨時狀態,後面共享一個資料庫,其實很多號稱分散式專家的人也就停留於此,大致結構如下圖所示:
這種環境下真正進行分散式的只是web server而已,並且web server之間沒有任何聯絡,所以結構和實現都非常簡單。
有些情況下,對分散式的需求就沒這麼簡單,在每個環節上都有分散式的需求,比如Load Balance、DB、Cache和檔案等等,並且當分散式節點之間有關聯時,還得考慮之間的通訊,另外,節點非常多的時候,得有監控和管理來支撐。這樣看起來,分散式是一個非常龐大的體系,只不過你可以根據具體需求進行適當地裁剪。按照最完備的分散式體系來看,可以由以下模組組成:
分散式任務處理服務:負責具體的業務邏輯處理
分散式節點註冊和查詢:負責管理所有分散式節點的命名和物理資訊的註冊與查詢,是節點之間聯絡的橋樑
分散式DB:分散式結構化資料存取
分散式Cache:分散式快取資料(非持久化)存取
分散式檔案:分散式檔案存取
網路通訊:節點之間的網路資料通訊
監控管理:蒐集、監控和診斷所有節點執行狀態
分散式程式語言:用於分散式環境下的專有程式語言,比如Elang、Scala
分散式演算法:為解決分散式環境下一些特有問題的演算法,比如解決一致性問題的Paxos演算法
因此,若要深入研究雲端計算和分散式,就得深入研究以上領域,而這些領域每一塊的水都很深,都需要很底層的知識和技術來支撐,所以說,對於想提升技術的開發者來說,以分散式來作為切入點是非常好的,可以以此為線索,探索計算機世界的各個角落。
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/cutesource/archive/2010/08/14/5811914.aspx
相關文章
- 分散式系統的設計與開發分散式
- 基於Scrapy分散式爬蟲的開發與設計分散式爬蟲
- 淺談分散式計算的開發與實現(一)分散式
- 淺談分散式計算的開發與實現(1)分散式
- 遠端開發分散式C#程式設計例項分散式C#程式設計
- 本地開發、兩層開發、三層開發與分散式開發分散式
- 分散式發號器架構設計分散式架構
- 我對分散式計算框架的理解與設計分散式框架
- [分散式]架構設計原則--高併發分散式架構
- 分散式計算與Map Reduce分散式
- 開發寶典:基於分散式物件的網遊程式結構設計分散式物件
- 分散式系統設計策略分散式
- 分散式系統程式設計分散式程式設計
- 遊戲開發與設計遊戲開發
- 高效能分散式計算與儲存系統設計概要分散式
- Java分散式系統設計:CAP定理與BASE理論Java分散式
- Solon Cloud 分散式開發套件清單與快速概覽Cloud分散式套件
- WCF分散式開發步步為贏(14):WCF安全程式設計–基本概念分散式程式設計
- 高併發服務端分散式系統設計概要服務端分散式
- 分散式設計理論之CAP分散式
- 分散式儲存高可用設計分散式
- 輕量級分散式鎖的設計原理分析與實現分散式
- 分散式時序資料庫QTSDB的設計與實現分散式資料庫QT
- 分散式塊儲存系統Ursa的設計與實現分散式
- JEESZ分散式框架開發環境部署分散式框架開發環境
- MySQL 設計與開發規範MySql
- 用C++設計與開發C++
- Python爬蟲開發與專案實戰--分散式程式Python爬蟲分散式
- 探索併發程式設計(七)——分散式環境中併發問題程式設計分散式
- 探索Redis設計與實現15:Redis分散式鎖進化史Redis分散式
- 使用TLA +進行分散式系統的建模與除錯設計分散式除錯
- 分散式設計很簡單--guzz分散式切表功能正式釋出分散式
- 「如何設計」高可用的分散式鎖分散式
- 設計一個分散式RPC框架分散式RPC框架
- 分散式服務介面設計注意點分散式
- 分散式搜尋系統的設計分散式
- 分散式|Dubbo架構設計詳解分散式架構
- 分散式系統設計的求生之路分散式