大量遠程、分散的,并且時常處于變化的用戶基數(shù)將引起根本上無法預測的計算需求的浮動,因此需要擁有強力的監(jiān)控和平衡IT資源的技術能力。
面對不可預測的工作負載,應用程序負載平衡以及應用程序傳遞控制器改善資源的利用,并加強面向用戶的應用程序性能體驗。
將精力投入到理解和選擇適合的應用程序負載平衡技術,將可在使用最少的IT資源情況下保證高標準的用戶體驗。
應用程序負載平衡及相關控制技術
借助不同的技術,應用程序負載平衡和應用程序交付控制都能夠加強客戶端-服務器應用程序的性能。
負載平衡需要專用的硬件或軟件來對網(wǎng)絡流量進行監(jiān)聽——例如當接收到用戶的請求,它將重新在多個入應用程序服務器這種計算組件之間分配流量。例如,面向高性能的存儲,相對于依靠單個應用程序服務器和網(wǎng)絡連接以支持不同和不可預測的水平的用戶流量,公司通常會部署一個應用程序服務器集群與多個網(wǎng)絡鏈接和冗余訪問通道。負載平衡幫助IT部署人員掌控更高級別的應用程序流量,同時最小化響應時間延遲,這體現(xiàn)在潛在不必要的應用程序。
負載平衡也為應用程序的可用性進一步提升了冗余。當應用程序服務器出現(xiàn)問題,流量將對稱或不對稱地重新規(guī)劃到其他可用的服務器集群中。對稱設置將在可用的設備間均勻地分配工作負載。如果四個服務器集群中一臺服務器出現(xiàn)問題,其三分之一的工作量將會被追加到剩余三臺服務器中的每一臺。不對稱負載平衡主要用在服務器并不完全相同的情況,因為一些服務器比其他設備擁有更多的計算資源。在這一場景中,剩下三臺服務器的一臺或兩臺將能夠處理所有故障造成服務器的流量。
常見的負載平衡需在服務器數(shù)量固定,相關存儲和網(wǎng)絡設備均已預先分配好的情況下才能生效,然而這種情況正在改變。當流量需求比規(guī)劃的少時,靜態(tài)方法就是在浪費計算資源,而當流量比預想的高時又不能滿足需求。現(xiàn)代應用程序負載平衡變得越來越聰明,集成了基于規(guī)則的自動化和業(yè)務流程平臺,具備監(jiān)測流量水平的能力,并根據(jù)流量變化,自動增加服務器實例并關閉不需要的實例。這就降低了計算資源的固定承諾,并為應用程序提供更大的可伸縮性。
應用交付控制器(Application delivery controller,ADC)提供各種網(wǎng)絡服務:如負載平衡、網(wǎng)絡數(shù)據(jù)壓縮、緩存、流量規(guī)劃、應用程序安全性、SSL卸載、內(nèi)容變換以及防火墻。供應商包括F5 Networks、微軟、KEMP Technologies、Juniper Networks等等。這些服務代表著改進客戶端和服務器之間的流量流向的智能技術水平。IT組織通常使用應用程序傳遞控制服務加速網(wǎng)站或基于web的應用程序,卸載許多通常由web服務器執(zhí)行的任務。
在當今的許多案例中,負載平衡器和ADC幾乎是沒有區(qū)別的。單一的負載平衡器的概念已經(jīng)幾乎過時,并且當今的應用負載平衡器集成了與ADC相同的智能功能——內(nèi)容變換、SSL卸載等。ADC引導性能最佳和資源最多的服務器的網(wǎng)絡流量,而在執(zhí)行伴隨著可用資源變化的服務器自動流量平衡時——與負載平衡器的工作機理別無二致。
應用程序負載平衡方法
負載平衡方法的選擇通常會受到特定的應用程序或服務的影響。HTTP、TCP、UDP和其他流量類型相比于其他協(xié)議,更容易受到相關方法的影響。在選擇應用程序負載均衡產(chǎn)品時,考慮這些常見的方法:最少連接、輪詢調(diào)度、基于散列和最少時間(響應)。
最少連接的方法,用最少的活動連接或交互,向服務器發(fā)送應用程序流量。例如,如果現(xiàn)有三臺應用程序服務器,其中一臺服務器處理10個請求,另一臺服務器有20請求,第三臺服務器未處理請求,負載平衡器將向第三臺服務器發(fā)送流量。運營經(jīng)理可以將權(quán)重分配給服務器,允許最少連接算法調(diào)整具備更多更強計算資源的服務器。
輪詢調(diào)度方法通常是默認用于在服務器間負載平衡、分發(fā)應用程序流量。例如,在3臺應用程序服務器之間,第一個請求與服務器1交互,第二個請求與服務器2交互,第三個請求與服務器三交互,第四個請求回到服務器1這樣。負載均衡器在可用的服務器之間周期地反復輪詢。IT管理人員也可以分配權(quán)重,這樣更大的和更強大的系統(tǒng)就能在同樣的輪次中處理比其他服務器更多的請求。或者,根據(jù)實際測量的服務器性能考慮權(quán)重流量動態(tài)分配。
基于散列的負載平衡路徑流量適用于數(shù)量具體且有限的應用程序服務器。一組通用散列通過用戶定義的key來向特定的服務器分配流量,其中可能不包括其他服務器。IP散列鎖基于IP地址將流量分配到特定的服務器上。這種操作對于一些無法很好地處理分布式流量的流媒體應用程序是非常有用的,或當對某應用程序同一級別的會話持久性是有益的。然而,基于散列的方法可能會有使部分服務器未充分使用,而另一部分卻過載。
最少時間的方法是,通過改變最小連接數(shù),通過最少的當前連接數(shù)傳遞流量到服務器,同時保證了最快的響應時間。為重視性能且需要服務器快速響應的應用程序,或者因地理位置分散而造成不同程度延遲的服務器選擇此種方法。最少時間方法同樣支持加權(quán)權(quán)重傾斜的流量分配方法,可塑造計算能力更強大的服務器。