雲計算分布式架構綜述

2021-06-08 20:47:01 字數 1125 閱讀 1484

傳統的關聯式資料庫由底層檔案系統和上層**系統構成,類似地,雲計算也包含了分布式檔案系統(如google的檔案系統gfs)和分布式**系統(如google的bigtable)兩個部分,其中分布式檔案系統實現可靠、高效的資料儲存和處理,分布式**系統在分布式檔案系統的基礎上實現表的各種處理邏輯,例如查詢、修改、掃瞄等。此外,鑑於開發和除錯分布式程式有比較大的難度,實現高效的分布式程式挑戰更大,因而雲計算還有乙個分布式計算系統(mapreduce),通過它,雲計算上的分布式程式開發變得易如反掌,執行效率卻大大提公升。mapreduce既可以執行在分布式的**系統上,也可以直接執行在分布式檔案系統上,達到很高的並行度,獲得很好的效率。

雲計算系統常常是單一主控機(single master)+多工作機(many workers)模式,worker實現資料的儲存、讀寫、分析處理等,master儲存部分或全部元資料、實現worker的任務分配、狀態監控、負載平衡、故障監測和故障恢復等。master常常使用heartbeat+lease或類似機制監控worker的狀態,向worker定期發放lease,worker在lease有效期(例如幾秒到幾十秒)內才進行工作,lease失效後則停止工作。如果master發現某個worker在過去一段時間內沒有響應或者出現其他異常,則不再向該worker發放新的lease,並在舊的lease到期後重新分配該worker上的任務。這使得master得以發現有故障的worker並將其從系統中剔除,並在適當的時候採取措施以避免資料丟失或者任務失敗等等,也使得系統管理員不需要進行任何額外的操作就可以下線部分worker(例如機器維護、軟體硬體公升級、機器淘汰等等)。

如果沒有其他措施,則雲計算系統的單一master會成為整個系統的單點。為了避免這種現象的出現,雲計算系統通常還有乙個分布式選舉系統(例如google的chubby),master也不再是單一master,而是單一主master+幾個輔master,輔master保持著對主master的準同步,一旦主master故障,則其中乙個輔master會被選舉並公升級成為主master。這種選舉和公升級通常需要若干秒的時間,但由於worker在lease有效期內即使沒有master也會繼續工作,且應用程式對master的訪問通過名字而不是ip位址,因此上層應用程式通常看不到這種切換,或者是乙個短暫的停頓。

以上只是對雲計算分布式架構的乙個簡單描述,在後續的文章中我還會對各個部分進行較為詳細的說明。

python分布式架構 分布式架構

1.分布式架構 採用centos mongodb windows2012 python redis進行分布式架構搭建,mongodb的框架最核心的設計就是 mongodb和mapreduce。mongodb為海量的資料提供了儲存,則mapreduce為海量的資料提供了計算,windows2012作為...

分布式架構

cap原理 c 一致性 多節點資料的一致 a 可用性 保證服務持續可用 多節點 多型伺服器 p 分割槽容忍性 是否可將資料存到多個地方 設計不可能同時滿足cap ac 放棄分割槽容忍,物理資料庫 ap 可以短暫的容忍資料不一致 nosql資料庫 cp 放棄可用性 springcloud有一下功能 e...

分布式三 雲計算 分布式系統范型

雲計算是乙個新技術,同時也是乙個新概念,乙個新模式,而不是單純的指某項具體的應 用和標準。方便 按需 2.雲計算分類 1 按照是否公開發布服務分類 訪問物件 公有雲 所有客戶 私有雲 企業內部 混合雲 重點 2 按照服務模式,雲計算可以分為 iaas paas saas三種型別。iaas infra...