負載均衡技術用於解決如何把許多互不相關的小型任務或中型任務合理地分配到不一樣的服務器上的問題。互不相關的小型任務或中型任務是指任務之間沒有關聯性,並且只用一臺服務器就能夠完成的任務。絕大多數我的租戶的任務都屬於這類任務。算法
對於大型任務,因爲一臺服務器沒法按時完成,因此就要把大型任務拆分紅許多中小型任務,而後再分配給多臺服務器,由它們協同完成,這就是計算機集羣技術所要解決的問題。服務器
對租戶來講,由不少臺服務器組成的集羣系統就像一臺超級計算機,無論運行多麼複雜、大型的任務,立刻就能獲得結果。而具有一樣計算能力的超級計算機價格卻異常昂貴,因此當 PC 服務器價格大幅度降低以後,人們熱衷於採用廉價的集羣系統來完成各類高性能的計算任務。比較明顯的例子就是,不少大型公司用幾萬臺服務器組建搜索集羣系統,並且服務器都是他們本身組裝的。負載均衡
與其在家閒着,不如當即開始學習,當機遇爆發式來臨時,能不能把握住,只看咱們是否已經準備好了,是否足夠強大。因此,如今開始,千鋒900G+視頻教程免費送!領取方式在下方留言便可,但願能夠幫助你在「逆境」中成長,從容開啓新的一年。分佈式
接下來說解集羣涉及兩大技術:一是任務的拆分,二是任務的調度。ide
任務的拆分遵循的原則之一是儘可能下降子任務之間的關聯性,從而提升處理任務的並行度。最多見的關聯性是任務處理的時間前後關係,好比子任務 A 必定要在子任務 B 完成以後才能開始處理,即 B 任務的輸出做爲 A 任務的輸入。存在一類子任務無關聯的大型任務,拆分這樣的任務就很容易。性能
好比在全球上億的網頁中搜索關鍵詞「雲計算」,這個任務的拆分方法之一是按國家劃分:A 子任務搜索中國的網站,B 子任務搜索美國的網站,C 子任務搜索英國的網站等,這些子任務之間沒有關聯性,能夠並行處理,最終把所有子任務的搜索結果合併起來便可。再好比中國的天氣預報,能夠按省份拆分。學習
任務的調度即如何把拆分出來的子任務合理地調度給雲端服務器並讓它們協同完成,這裏的「合理」性與租戶的要求密切相關。能夠這樣定義:最能知足租戶要求的調度方法就是合理的。網站
租戶的要求各類各樣,有的但願任務完成得越快越好,有的要求在未來某個時間前完成任務便可,有的但願結果越精確越好,有的但願計算費用越少越好……根據租戶的不一樣要求,人們提出了相應的任務調度方法。好比在知足租戶預期目標的前提下,把任務分配給儘可能少的計算機,從而知足「應用最少的計算機按時、按質完成任務」的要求,由於參與的計算機越少,通訊的成本就越低。雲計算
例如,有一個 100 人日的任務,甲方要求在 10 天內完成。爲了在規定的時間內完成任務,乙方更願意安排 10 我的作 10 天,而不是安排 105 我的作1天。因爲要管理 100 人,因此後者須要增長 5 個管理人員。視頻
集羣是一個複雜的工程,它涉及不少分佈式方面的基礎算法,如選舉算法、一致算法、波算法、快照、故障檢測等。