集群,英文名稱為cluster,通俗地說,集群是這樣一種技術:它將多個系統連線到一起,使多台伺服器能夠像一台機器那樣工作或者看起來好像一台機器。採用集群系統通常是為了提高系統的穩定性和網路中心的資料處理能力及服務能力。
舉個例子來說,我們架設了一台www伺服器,上面構建了乙個電子商務**,然而隨著時間的推移,名聲越來越大,這時點選率也就越來越高,www伺服器的負載也就越來越高。這種情況下,我們就必須提公升www伺服器的能力,以滿足日益增長的服務請求。這時,我們就面臨兩種選擇:
1)公升級www伺服器,採用更快的cpu,增加更多的記憶體,使其具有更強的效能;但日益增長的服務請求又會使伺服器再次過載,需要再次公升級,這樣就陷入了公升級的怪圈。還有,公升級時還得考慮到服務如何接續,能否中止。
2)增加www伺服器,讓多台伺服器來完成相同的服務。
第二種方法就是伺服器集群,簡而言之,就是一組相互獨立的伺服器在網路中表現為單一的系統,並以單一系統的模式加以管理。此單一系統為客戶工作站提供高可靠性的服務。乙個伺服器集群包含多台擁有共享資料儲存空間的伺服器,各伺服器之間通過內部區域網進行相互通訊;當其中一台伺服器發生故障時,它所執行的應用程式將由其他的伺服器自動接管;在大多數情況下,集群中所有的計算機都擁有乙個共同的名稱,集群系統內任意一台伺服器都可被所有的網路使用者所使用。在集群系統中執行的伺服器並不一定是高檔產品,但伺服器的集群卻可以提供相當高效能的不停機服務;每一台伺服器都可承擔部分計算任務,並且由於群集了多台伺服器的效能,因此,整體系統的計算能力將有所提高;同時,每台伺服器還能承擔一定的容錯任務,當其中某台伺服器出現故障時,系統可以在專用軟體的支援下將這台伺服器與系統隔離,並通過各伺服器之間的負載轉移機制實現新的負載平衡,同時向系統管理員發出報警訊號。
目前,有兩種常用的伺服器集群方法:
一種是將備份伺服器連線在主伺服器上,當主伺服器發生故障時,備份伺服器才投入執行,把主伺服器上所有任務接管過來。
另一種方法是將多台伺服器連線,這些伺服器一起分擔同樣的應用和資料庫計算任務,改善關鍵大型應用的響應時間。同時,每台伺服器還承擔一些容錯任務,一旦某台伺服器出現故障時,系統可以在系統軟體的支援下,將這台伺服器與系統隔離,並通過各伺服器的負載轉嫁機制完成新的負載分配。pc伺服器中較為常見的是兩台伺服器的集群,unix系統可支援8臺伺服器的集群系統,康柏的專用系統openvms可支援多達96臺伺服器的集群系統。
在集群系統中,所有的計算機擁有乙個共同的名稱,集群內任一系統上執行的服務可被所有的網路客戶所使用。集群必須可以協調管理各分離元件的錯誤和失敗,並可透明的向集群中加入元件。使用者的公共資料被放置到了共享的磁碟櫃中,應用程式被安裝到了所有的伺服器上,也就是說,在集群上執行的應用需要在所有的伺服器上安裝一遍。當集群系統在正常運轉時,應用只在一台伺服器上執行,並且只有這台伺服器才能操縱該應用在共享磁碟櫃上的資料區,其它的伺服器監控這台伺服器,只要這台伺服器上的應用停止執行(無論是硬體損壞、作業系統宕機、應用軟體故障,還是人為誤操作造成的應用停止執行),其它的伺服器就會接管這台伺服器所執行的應用,並將共享磁碟櫃上的相應資料區接管過來。其接管過程如下所示(以應用a為例):
1.應用a正常工作時;
2.應用a停止工作後,其它的備用伺服器將該應用接管過來。
具體接管過程分三部執行:
a.系統接管。
b.載入應用。
c.客戶端連線。
集群系統的優勢在於以下幾點:
當某一台伺服器出現任何故障,如:硬碟、記憶體、cpu、主機板、i/o板以及電源故障,執行在這台伺服器上的應用以及其他計算資源通過網路將任務分配到集群的其他正常的節點上,而不影響正常應用或者計算.
.解決軟體系統問題
我們知道,在計算機系統中,使用者所使用的是應用程式和資料,而應用系統執行在作業系統之上,作業系統又執行在伺服器上。這樣,只要應用系統、作業系統、伺服器三者中的任何乙個出現故障,系統實際上就停止了向客戶端提供服務,比如我們常見的軟體宕機,就是這種情況之一,儘管伺服器硬體完好,但伺服器仍舊不能向客戶端提供服務。而集群的最大優勢在於對故障伺服器的監控是基於應用的,也就是說,只要伺服器的應用停止執行,其它的相關伺服器就會接管這個應用,而不必理會應用停止執行的原因是什麼。
例如,當管理員對某台伺服器操作不當導致該伺服器停機,因此執行在這台伺服器上的應用系統也就停止了執行。由於集群是對應用進行監控,因此其它的相關伺服器就會接管這個應用。
集群系統的不足之處在於:
集群中的應用只在一台伺服器上執行,如果這個應用出現故障,其它的某台伺服器會重新啟動這個應用,接管位於共享磁碟櫃上的資料區,進而使應用重新正常運轉。我們知道整個應用的接管過程大體需要三個步驟:偵測並確認故障、後備伺服器重新啟動該應用、接管共享的資料區。因此在切換的過程中需要花費一定的時間,原則上根據應用的大小不同切換的時間也會不同,越大的應用切換的時間越長。
集群技術的出現和ia架構伺服器的快速發展為社會的需求提供了新的選擇。它**低廉,易於使用和維護,而且採用集群技術可以構造超級計算機,其超強的處理能力可以取代**昂貴的中大型機,為行業的高階應用開闢了新的方向。
集群技術是一種相對較新的技術,通過集群技術,可以在付出較低成本的情況下獲得在效能、可靠性、靈活性方面的相對較高的收益。
目前,在世界各地正在執行的超級計算機中,有許多都是採用集群技術來實現的。
集群是由一些互相連線在一起的計算機構成的乙個並行或分布式系統。這些計算機一起工作並執行一系列共同的應用程式,同時,為使用者和應用程式提供單一的系統對映。從外部來看,它們僅僅是乙個系統,對外提供統一的服務。集群內的計算機物理上通過電纜連線,程式上則通過集群軟體連線。這些連線允許計算機使用故障應急與負載平衡功能,而故障應急與負載平衡功能在單機上是不可能實現的。
伺服器集群系統通俗地講就是把多台伺服器通過快速通訊鏈路連線起來,從外部看來,這些伺服器就像一台伺服器在工作,而對內來說,外面來的負載通過一定的機制動態地分配到這些節點機中去,從而達到超級伺服器才有的高效能、高可用。
集群的優點
高可伸縮性:伺服器集群具有很強的可伸縮性。隨著需求和負荷的增長,可以向集群系統新增更多的伺服器。在這樣的配置中,可以有多台伺服器執行相同的應用和資料庫操作。
高可用性:高可用性是指,在不需要操作者干預的情況下,防止系統發生故障或從故障中自動恢復的能力。通過把故障伺服器上的應用程式轉移到備份伺服器上執行,集群系統能夠把正常執行時間提高到大於99.9%,大大減少伺服器和應用程式的停機時間。
高可管理性:系統管理員可以從遠端管理乙個、甚至一組集群,就好象在單機系統中一樣。
tomcat伺服器集群
server info out.println request.getlocaladdr request.getlocalport out.println id session.getid 如果有新的 session 屬性設定 string dataname request.getparameter...
什麼是伺服器集群
伺服器集群就是指將很多伺服器集中起來一起進行同一種服務,在客戶端看來就象是只有乙個伺服器 集群可以利用多個計算機進行平行計算從而獲得很高的計算速度,也可以用多個計算機做備份,從而使得任何乙個機器壞了整個系統還是能正常執行 一旦在伺服器上安裝並執行了群集服務,該伺服器即可加入群集。群集化操作可以減少單...
Nginx與伺服器集群
一 集群 集 合在一起 放在一起 群 一堆 很多 伺服器架構集群 分布式伺服器架構 多台伺服器組成的響應大併發 高資料量訪問的架構體系。特點 1.1成本高 1.2降低單台伺服器的壓力,使用流量平均分配到多台伺服器。1.3使 服務架構更加安全穩定。伺服器概念 提供某種或者多種服務 功能 的機器 計算機...