小議計算機集羣

  • 是什麼
        提到集羣我首先想到的是小小課本中《一把筷子》的寓言,這則寓言讓我們看到了聯合的力量。

        那麼按照這種“聯合”的思路我們可以把多個計算機“捆”起來,我們能就能得到一臺“大CPU”、“大內存”、“大硬盤”、“大網卡”的“大計算機”,也就能去幹“大活”。其實這就是計算機集羣設計的初衷。

        2011年光棍節促銷,京東商城網站的流量暴漲,服務器癱瘓。劉強東立即想到的就是對擴充集羣,宣稱增加3倍服務器。

  • 爲什麼
        這個問題提出時有朋友就問了,搞一臺性能巨牛的機器不就完了,幹嘛要如此麻煩。其實答案很簡單,這樣的機器太貴。

  • 幹什麼

        在長期的臨牀應用中,用戶總結出了集羣一系列的用途。

高性能計算

        一些計算密集型應用需要很強計算機有很強的運算能力,普通的單臺機器就捉襟見肘了。如:在數值天氣預報的模式運算時,會產生很多的計算量,普通的機器很難“養得起”這種 “喫”CPU程序,如果放到集羣系統中計算,那大計算量就會被分割,耗時大大降低。像Matlab就提供在多核及集羣計算機上的並行計算的工具箱。
        但上述的集羣進行高性能計算也有限制,要求程序或算法要設計爲可並行計算。如果算法必須爲串行,那就只能花錢買強機了。

高併發訪問

        一臺服務器的併發數量是有限制的,那麼海量併發應用就需要大集羣來消化這些負載了。像淘寶的一些促銷活動,12306的高峯期購票等都會產生瞬間海量併發,這對服務器帶來的壓力非常之大,控制不好就會發生文章開頭的一幕。
        究其本質,決定併發能力的是硬件的CPU運算能力、硬盤讀取速度、單臺服務器帶寬以及服務器軟件的性能(如:數據庫、Web Server)等。而不同類型的併發要求的負責對象也不同。如:視頻點播和下載應用的壓力在於帶寬、在對淘寶或其他電商網站搜索時壓力在於數據庫、Web GIS中的插值GP服務壓力在於CPU,那麼我們就可以根據併發的類型來配置集羣中的服務器。

容災

        這是一個與性能無關的用途,是爲了增強應用的抗風險能力。像一些電商、金融網站對抗風險能力要求極強,否則停機一小時就會帶來百萬的損失,甚至更壞。
        再好的機器也可能會開小差,那麼把應用程序部署到多個機器上,其中一個宕掉不會影響到應用的使用。

       容災機器的切換模式有:主-備方式和雙主(多機)機方式,主-備方式即指的是一臺服務器處於某種業務的激活狀態,另一臺服務器處於該業務的備用狀態。而雙主機方式即指兩種不同業務分別在兩臺服務器上互爲主備狀態。        

        在宕機路由方案上,有多種選擇:

        首先可以採用DNS路由,當一個ip訪問出問題時,自動切換到備用ip;這種方案的限制是必須使用域名爲訪問途徑。這種方案最爲簡易,市面上有很多DNS解析服務商提供該服務,如DNSPod。

        其次可在集羣外圍架設諸如f5之類的硬負載均衡設備,來進行故障轉移,這種方案是管理方便,但費用高。

        也可以使用操作系統的集羣功能來進行此工作,如Windows  Server 2008自帶的集羣功能。

        應用軟件自帶的集羣管理功能也是一種選擇,如tomcat自身的集羣功能。

        除了機器因素之外,還會發生一些天災人禍。如:如影片《007之黃金眼》中008想利用太空武器炸燬倫敦來毀滅英國的金融記錄……,如果當時倫敦政府採用多地集羣部署金融系統的話008的舉動就是一個笑柄。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章