丁香婷婷激情俺也去俺来也,吃奶呻吟打开双腿做受视频,婷婷综合久久中文字幕蜜桃三电影,免费无线乱码不卡一二三四

集群和負載均衡”在實戰(zhàn)當中的運用技巧

2015-07-07

在“高并發(fā),海量數(shù)據(jù),分布式,NoSql,云計算......”概念滿天飛的年代,相信不少朋友都聽說過甚至常與人提起“集群,負載均衡”等,但不是所有人都有機會真正接觸到這些技術,也不是所有人都真正理解了這些“聽起來很牛的”技術名詞。

在“高并發(fā),海量數(shù)據(jù),分布式,NoSql,云計算......”概念滿天飛的年代,相信不少朋友都聽說過甚至常與人提起“集群,負載均衡”等,但不是所有人都有機會真正接觸到這些技術,也不是所有人都真正理解了這些“聽起來很牛的”技術名詞。下面簡單解釋一下吧。

集群(Cluster)

所謂集群是指一組獨立的計算機系統(tǒng)構成的一個松耦合的多處理器系統(tǒng),它們之間通過網(wǎng)絡實現(xiàn)進程間的通信。應用程序可以通過網(wǎng)絡共享內存進行消息傳送,實現(xiàn)分布式計算機。通俗一點來說,就是讓若干臺計算機聯(lián)合起來工作(服務),可以是并行的,也可以是做備份。

負載均衡(Load Balance)

網(wǎng)絡的負載均衡是一種動態(tài)均衡技術,常見的實現(xiàn)方式是通過一些工具實時地分析數(shù)據(jù)包,掌握網(wǎng)絡中的數(shù)據(jù)流量狀況,把任務合理均衡地分配出去。這種技術基于現(xiàn)有網(wǎng)絡結構,提供了一種擴展服務器帶寬和增加服務器吞吐量的廉價有效的方法,加強了網(wǎng)絡數(shù)據(jù)處理能力,提高了網(wǎng)絡的靈活性和可用性。日常生活中到處都能看到“負載均衡”,一個超市的收營員高峰期只能服務10位顧客,當做活動時有20位顧客需要服務的話可能就會排長隊,這樣購物體驗將會很差(就像客戶抱怨系統(tǒng)/網(wǎng)站訪問太慢)。最簡單的辦法就是再招個營業(yè)員,重新開通一個出口。負載均衡的核心就是“分攤壓力”。

大規(guī)模集群,通常具備以下一些特點:

(1)高可靠性(HA)。

利用集群管理軟件,當主服務器故障時,備份服務器能夠自動接管主服務器的工作,并及時切換過去,以實現(xiàn)對用戶的不間斷服務。

(2)高性能計算(HP)。

即充分利用集群中的每一臺計算機的資源,實現(xiàn)復雜運算的并行處理,通常用于科學計算領域,比如基因分析、化學分析等。

(3)負載平衡(LB)。

即把負載壓力根據(jù)某種算法合理分配到集群中的每一臺計算機上,以減輕主服務器的壓力,降低對主服務器的硬件和軟件要求。

當然,以上的這些特點,在某些適應場合下是需要同時具備的。常用的集群又分以下幾種:

load balance cluster (負載均衡集群)

一共有四兄弟開裁縫鋪,生意特別多,一個人做不下來,老是延誤工期,于是四個兄弟商量:老大接訂單, 三個兄弟來干活。 客戶多起來之后,老大根據(jù)一定的原則(policy) 根據(jù)三兄弟手上的工作量來分派新任務。

High availability cluster(高可用集群)

兩兄弟開早餐鋪,生意不大,但是每天早上7點到9點之間客戶很多并且不能中斷。為了保證2個小時內這個早餐鋪能夠保證持續(xù)提供服務,兩兄弟商量幾個方法:

方法一:平時老大做生意,老二這個時間段在家等候,一旦老大無法做生意了,老二就出來頂上,這個叫做 Active/Standby.(雙機熱備)

方法二:平時老大做生意,老二這個時候就在旁邊幫工,一旦老大無法做生意,老二就馬上頂上,這個叫做Active/Passive.(雙機雙工)

方法三:平時老大賣包子,老二也在旁邊賣豆?jié){,老大有問題,老二就又賣包子,又賣豆?jié){,老二不行了,老大就又賣包子,又賣豆?jié){.這個叫做Active/Active (dual Active)(雙機互備)

包子= application package, 互相照應叫做heartbeat, 頂替對方工作叫做 failover/takeover. 如果兩個兄弟突然都瞎了聾了,不知道現(xiàn)在對方到底是否正在干活,都認為自己要頂對方的工作,這個叫做brain-split, 然后需要第三者,比如他們的老爹來解決問題,這個叫做tier-breaker, 或者讓他們兩個的媳婦過來拉走其中一個,這個叫做fency。

high computing clustering (高性能計算集群)

10個兄弟一起做手工家具生意,一個客戶來找他們的老爹要求做一套非常復雜的仿古家具,一個人做也可以做,不過要做很久很久,為了1個星期就交出這一套家具,10個兄弟決定一起做。

老爹把這套家具的不同部分分開交給兒子們作,然后每個兒子都在做木制家具的加工,最后拼在一起叫貨.

老爹是scheduler任務調度器,兒子們是compute node. 他們做的工作叫做作業(yè)。

(其實,還有一種,分布式存儲相關的集群,應用于超大規(guī)模網(wǎng)站,云計算平臺等等。涉及點存儲方面的,這里就不介紹了)

嚴格來講,這些已經超過了一般開發(fā)人員的知識范疇了,想真正理解和掌握這些并不太容易,有時候需要真正的實踐而不是閉門造車。從運維人員和系統(tǒng)架構師的角度來看,不僅需要具備豐富的操作系統(tǒng)配置和管理的經驗,更要具備網(wǎng)絡協(xié)議、存儲等相關的知識(懂算法和底層的就更完美了)。從開發(fā)人員和軟件架構師的角度來看,需要考慮的重點又不同了。當然,遠遠不止我所提到的這些?,F(xiàn)在的Web應用一般都比較依賴于基礎架構,而越來越脫離了”純軟件架構“的本質。集群不是萬能的,但有時候確實相當有用。