1. 程式人生 > >業務的需求:伺服器垂直還是水平擴充套件?

業務的需求:伺服器垂直還是水平擴充套件?

儘管最近面臨的經濟困難,仍然有一些小型企業表現良好並不斷成長。許多這樣的企業會覺得有必要擴大或向外擴充套件他們的應用基礎設施,以跟上需求的步伐。


    許多企業早有先見之明,在基礎設施建立之初就考慮到了既要滿足當前的需要,又可以允許在未來有適度的擴充套件(或可伸縮性)。然而,隨著業務的不斷增長,他們往往會達到既有的資料庫的能力不敷使用的時候。


    這是一個很典型的問題。它確實需要重新評估伺服器硬體,並確定一個提升系統以處理更多的負載的計劃。這裡有幾個不同的選擇:垂直擴充套件或水平擴充套件。在你做決定的時候,需要考慮下述的一些問題。


    垂直擴充套件


    簡單說來,垂直擴充套件就是升級原有的伺服器或更換為更強大的硬體。這是比較直接的方法,比如說記憶體不足時就增加更多的內容。或者,花費一大筆錢為一個大型主機伺服器增加儲存吞吐量和/或計算能力。


    這種方法的優點是,購買更多記憶體是進行擴充套件的最便宜的方式之一。其缺點是,每臺伺服器所能支援的可擴充套件記憶體量都有一個上限。一旦現有的伺服器達到這一上限,那麼是時候更新到新服務了。


    如果主要問題是處理能力不足,一種有效的擴充套件方式是,升級到較新版本的雙CPU伺服器或四CPU伺服器。一個小企業的預算可能不足以負擔從四插槽到八插槽的升級,幸運的是,一般說來企業應用沒有必要使用(八槽CPU)這樣的計算能力。


    或許,效能上的瓶頸是缺乏足夠的儲存吞吐量。要實現更快的系統吞吐量,可能需要採取以下幾種措施的組合或對某種方法加以適當變化:


    -在直接連線儲存裝置上增加更多的本地儲存-這種方法便宜,但對多臺主機的連線能力效果有限。


    -切換到儲存區域網路(SAN)方法-這種方法比較昂貴,但在進一步擴充套件時有較大的靈活性。


    -購買固態硬碟(SSD)儲存-這種方法非常快速也非常靈活,但是花費昂貴。

水平擴充套件


    水平擴充套件指的是通過增加更多的伺服器來分散負載,從而實現儲存能力和計算能力的擴充套件。這可以通過增加本地的刀片伺服器(雖然有些人認為增加刀片伺服器是一種垂直擴充套件形式),或者增加雲端的虛擬機器和伺服器。決定採用什麼型別的“水平擴充套件”時,需要考慮以下這些問題:


    -你是否想實現兩個伺服器同時寫資料到同一個資料庫中去,這樣,所有的變更都立即複製到整個系統的伺服器中去?在需要實時資料同步的應用中,這種方法具有優勢。


    -通過負載均衡來實現的多伺服器的資料讀取能力是否能夠滿足您的要求?這種方法可以非常有效地處理高容量的查詢,並且成本極低。


    -鬆散耦合互連的做法是業務的優勢還是劣勢?實現元件和流程的分開,對於減少互動和隔離故障有好處,但當你需要一個高層次的同步時,它就沒那麼大的好處了。


    -你是否在使用開源軟體?這對水平擴充套件的軟體許可費用和垂直擴充套件的硬體成本的比較會產生極大的影響。


    -如果切換到多臺伺服器,是否嚴重影響我們的應用的工作方式,或這對網路連線的要求有著顯著的變化?類似這樣的一些因素很容易就會使得IT資源的額外開支大幅上升。


    有時,水平擴充套件的方法不僅僅限於增加更多的伺服器,也包括改變所用伺服器的型別。例如,SQL伺服器可能對某種型別的資料的儲存和處理非常有效,但對另外一種型別的資料,可能並不是最好的解決方案。用於銷售和物流的客戶資料的組織方式,可能和用於其它業務流程內部資料的處理方式完全不同。


    很重要的一點是認真分析所儲存的資料型別,資料是如何被使用的,以及資料相互之間的連線關係。這些因素將有助於確定是否切換或混合伺服器。如果能在給定的IT預算下獲得更好的效能和更高的效率,那麼這樣的分析還是物超所值的。


    在考慮水平擴充套件的時候,也可以考慮外包。對於那些IT人員較少和較缺乏的小企業,這一點尤為重要。伺服器水平擴充套件的許多管理流程可以很容易地實現自動化。但仍然還有很多的管理工作要做,以免由於“變化的地方”和指令碼太多造成專案的失敗。


    在選擇資料庫和支援平臺時,平臺即服務(PaaS)和基礎設施即服務(IaaS)也是很好的選擇。事實上,一些小企業幾乎摒棄了所有的本地伺服器硬體,他們所有的資料庫要求全部都通過雲端來滿足。


    第三種選擇


    賺錢不易,花錢更需謹慎。在垂直或水平擴充套件之前,務必要仔細考慮:如果現有的基礎設施並沒有被有效地利用,那麼,購買更多的空間和計算能力也不會從根本上改變現狀。你能做的最好的一個方法就是,徹底的審查和調整在這伺服器上執行的程式碼。軟體方面的投資,可以避免當前不必要的硬體採購,即便在硬體擴充套件勢在必行時,也可以提高新購硬體的效率。