1. 程式人生 > >閒話雲端計算(四) 雲端計算裡的分散式技術

閒話雲端計算(四) 雲端計算裡的分散式技術

經典的雲端計算架構裡用到了很多分散式技術,背後的原因是分散式技術在資源池化、大規模擴充套件能力、硬體故障容錯能力、效能提升方面,相對傳統的集中式技術有巨大的優勢。首先說資源池化,只有池化可以把分散的資源整合起來,對外通過統一的介面來按需分配,極大的提升資源使用效率。池化的一個對立面是煙囪結構,即每個業務系統有一套獨立的軟、硬體配置,不同業務之間不共享資源,導致大量的重複建設,是一種低效的方式。

大規模擴充套件能力是指資源池可以動態擴充套件,並且擴充套件到很大的規模。資源池規模越大,資源使用效率越高,總體成本下降越大。比如即使一個小的計算資源池,也需要配置齊全所需的網路裝置(核心交換機、防火牆等),如果資源池規模擴大,意味著分攤到每一個計算例項的網路成本就會下降。但是在資源池建設初期,出於成本考慮,規模會比較有限。隨著業務擴充套件,對資源的需求也會增加,資源池會不斷擴充套件,這就對資源池的動態擴充套件能力和最大可用規模提出了很高的要求。

硬體故障的容錯能力,是希望讓雲服務擺脫對硬體可靠性的依賴。分散式技術通過多副本、分散資料儲存等技術,可以讓整個服務不受個別硬體不可用的影響。這就意味著雲服務可以大量使用廉價的X86伺服器來構建資源池,極大地降低了成本。效能提升方面,分散式通過將負載分擔到多個節點的方式,充分利用多節點聚合的計算力,有效提升了總體服務的效能。典型的如分散式儲存,資源池內節點數量越多,叢集整體的效能就越好。

現有主流的分散式計算技術在雲端計算裡都可以找到,典型的有分散式儲存、分散式資料庫、分散式訊息中介軟體、分散式虛擬閘道器、分散式負載均衡等等。容器排程編排技術也是基於分散式的思想設計的,比如多副本狀態保持、分散式軟負載等。限於篇幅,這裡不作太多展開介紹。分散式技術可以說是成就了經典的雲端計算技術,並深刻的影響了雲端計算技術的發展方向,讓很多人想起雲端計算就會聯想到分散式計算計算。從目前的現狀和趨勢來看,分散式技術仍然將是雲端計算技術的重要組成部分。