雲可以把多個服務器管理起來,作爲一個統一的資源提供服務
服務器如何組織,就是分佈式體系結構的範疇
1 集中式結構
概念:
由一臺或多臺服務器組成中央服務器,系統內的所有數據都存儲在中央服務器中,系統內所有的業務也均先由中央服務器處理;
多個節點服務器與中央服務器連接,並將自己的信息彙報給中央服務器,由中央服務器統一進行資源和任務調度:
中央服務器根據這些信息,將任務下達給節點服務器;節點服務器執行任務,並將結果反饋給中央服務器。
場景:Google Borg、K8S、Mesos
Master可以讓Slave向Master發送心跳包來監聽slave的存活狀態;也可以參考Redis的哨兵模式,主從節點都由哨兵來監控,也就是說藉助中間層
缺點:對中心服務器性能要求很高、單點瓶頸、單點故障
2 非集中式架構
概念:
服務的執行和數據的存儲被分散到不同的服務器集羣,服務器集羣間通過消息傳遞進行通信和協調;
此結構沒有中央服務器和節點服務器之分,所有的服務器地位都是平等(對等)的
相比於集中式結構,非集中式結構就降低了某一個或者某一簇計算機集羣的壓力,在解決了單點瓶頸和單點故障問題的同時,還提升了系統的併發度,比較適合大規模集羣的管理
場景:Akka、Redis、Cassandra
Gossip 協議:最終一致性協議
每個節點週期性地從自己維護的集羣節點列表中,隨機選擇 k 個節點,將自己存儲的數據信息發給這 k 個節
點,接收到該信息的節點採用共識原則(誰的時間戳最新(也就是數據最新),就以誰爲準的原則),對收到的數據和本地數據進行合併,這樣迭代幾個週期後,集羣中所有節點上的數據信息就一致了
邊緣計算是爲應用開發者和服務提供商在網絡的邊緣側提供雲服務和IT環境服務;
目標是在靠近數據輸入或用戶的地方提供計算、存儲和網絡帶寬”;
邊緣計算設備多、分散,對可用性和速度要求高,相比而言使用非集中式更好。