- 是什麼
- 爲什麼
- 幹什麼
在長期的臨牀應用中,用戶總結出了集羣一系列的用途。
高性能計算
一些計算密集型應用需要很強計算機有很強的運算能力,普通的單臺機器就捉襟見肘了。如:在數值天氣預報的模式運算時,會產生很多的計算量,普通的機器很難“養得起”這種 “喫”CPU程序,如果放到集羣系統中計算,那大計算量就會被分割,耗時大大降低。像Matlab就提供在多核及集羣計算機上的並行計算的工具箱。
但上述的集羣進行高性能計算也有限制,要求程序或算法要設計爲可並行計算。如果算法必須爲串行,那就只能花錢買強機了。
高併發訪問
一臺服務器的併發數量是有限制的,那麼海量併發應用就需要大集羣來消化這些負載了。像淘寶的一些促銷活動,12306的高峯期購票等都會產生瞬間海量併發,這對服務器帶來的壓力非常之大,控制不好就會發生文章開頭的一幕。
究其本質,決定併發能力的是硬件的CPU運算能力、硬盤讀取速度、單臺服務器帶寬以及服務器軟件的性能(如:數據庫、Web Server)等。而不同類型的併發要求的負責對象也不同。如:視頻點播和下載應用的壓力在於帶寬、在對淘寶或其他電商網站搜索時壓力在於數據庫、Web GIS中的插值GP服務壓力在於CPU,那麼我們就可以根據併發的類型來配置集羣中的服務器。
容災
這是一個與性能無關的用途,是爲了增強應用的抗風險能力。像一些電商、金融網站對抗風險能力要求極強,否則停機一小時就會帶來百萬的損失,甚至更壞。
再好的機器也可能會開小差,那麼把應用程序部署到多個機器上,其中一個宕掉不會影響到應用的使用。
容災機器的切換模式有:主-備方式和雙主(多機)機方式,主-備方式即指的是一臺服務器處於某種業務的激活狀態,另一臺服務器處於該業務的備用狀態。而雙主機方式即指兩種不同業務分別在兩臺服務器上互爲主備狀態。
在宕機路由方案上,有多種選擇:
首先可以採用DNS路由,當一個ip訪問出問題時,自動切換到備用ip;這種方案的限制是必須使用域名爲訪問途徑。這種方案最爲簡易,市面上有很多DNS解析服務商提供該服務,如DNSPod。
其次可在集羣外圍架設諸如f5之類的硬負載均衡設備,來進行故障轉移,這種方案是管理方便,但費用高。
也可以使用操作系統的集羣功能來進行此工作,如Windows Server 2008自帶的集羣功能。
應用軟件自帶的集羣管理功能也是一種選擇,如tomcat自身的集羣功能。
除了機器因素之外,還會發生一些天災人禍。如:如影片《007之黃金眼》中008想利用太空武器炸燬倫敦來毀滅英國的金融記錄……,如果當時倫敦政府採用多地集羣部署金融系統的話008的舉動就是一個笑柄。