當一種應用要同時服務很多使用者時,怎樣才算滿足需求?能精準無誤地作到使用者期待的服務項目內容、又不花時間等待,我想,大多數人能接受的標準不外乎如此。然而,單靠一個服務窗口,就算它/他的動作再迅捷,同一時間內只能回應一次需求,可能還是無法因應短時間內突然湧現的大量需求,為了解決這樣的問題,於是我們往往會一次開設多種管道,以便及時完成處理。

這些實用的方法看似平常,卻在我們每天的生活中扮演非常重要的角色。最淺顯的實例,像是至郵局或銀行作一些臨櫃的儲匯交易,或是我們到中大型醫院看病時,經歷掛號、就診、批價、取藥等程序,由於服務端都同時設立多個服務櫃臺,並且讓每一個上門的用戶以人工或自動的方式取得自己被服務的順序代碼,接著由系統依序分配至目前已經完成服務而處於閒置狀態的人員,來為大眾服務。

另一個例子是,最近許多離鄉背井工作者最關切的返鄉訂票。像台鐵跟高鐵都宣布100年春節期間的疏運計畫,而且春節假期車票預訂,也於前幾週陸續開始進行,但每年一到了車票開訂的凌晨,網路交易大塞車的狀況屢見不鮮。據報載,月初就開放預訂的高鐵,同樣因應春節加大頻寬,瞬間可處理一萬四千多筆交易,但一開放訂票,線上瞬間湧入三萬多人,使得系統負荷過大而產生延遲,過一段時間後即回復正常;台鐵則一改往年,在增設連線數和加強防駭機制後,他們表示今年網路瞬間流量可同時接受三萬六千人線上訂票,而且在開始預訂的那段時間也創下新紀錄──第一分鐘,就有一萬三千多筆次完成三萬多張訂票。

要承擔這樣的交易處理規模,光從IT的角度就有很多種方法可解,不單是應用系統軟體本身的執行效能要能最佳化,以及硬體端須具備充裕的運算能力、記憶體容量與網路頻寬,有一個環節也是不可或缺的,那就是如何更妥善地將負荷分配給當下有能力處理的執行者,並且在部分執行者無法服務時,能將工作交給其他可運作的執行者處理,使整體服務能持續、不中斷。

要做到這個目標,幾乎大部分的應用系統、網路設備、資安設備,都會有自己專屬的分散負載與維持高可靠度的機制,然而這些備援的系統或叢集環境能針對的處理,也僅限於自身,而無法支援到其他類型的服務,因此專屬的負載平衡設備仍有其存在的必要,而我們這次採購特輯的主角──伺服器負載平衡(SLB)設備,就是當中的一種解決方案。(請見第24頁)

隨著網站應用的日益多元,技術的成熟,這些設備不只是針對網站伺服器的負載,將使用者的流量分攤給後端的多臺網站伺服器,現在更加入一些機制,例如更強調對應用伺服器的異常狀態監測與通知,以及內建能進一步減輕應用伺服器負荷的技術,例如代理SSL連線的加解密處理、對傳輸內容的壓縮與快取等。

對伺服器虛擬化的支援,也是近期這類設備功能發展的重點之一,有些產品能透過軟體套件,與伺服器虛擬化平臺連結,透過動態遞增減VM來因應不同的伺服器負荷。

隨著資料中心架構與應用形態的變革,可預見的是伺服器負載平衡設備的角色正在轉變,有些廠商將這類融入越來越多功能的產品類型,納入「Application Delivery Controller(應用程式遞送控制器)」的範疇,基本上它們的作用是,希望能設法從系統外部,再加快網路傳輸與應用系統的反應速度。

但實際上,系統要有好的效能,也不能只是從擴充伺服器硬體的性能、網路去下手,要找到問題關鍵去改善,更能事半功倍。(請見第38頁)

作者簡介


Advertisement

更多 iThome相關內容