「負載平衡」是什麼意思?網站加速與負載平衡也有關嗎?
你知道網站的「負載平衡」是什麼意思嗎?網站的負載平衡,也會和網站速度有關聯嗎?其實,負載平衡在每個電子商務的生存中都扮演關鍵的角色。高流量網站不斷被要求以快速且可靠的方式傳回正確的文本、圖像、影片或應用程式資料,同時為就算不是數百萬也有數十萬的並行使用者請求(concurrent user requests)提供服務。
在本文中,我們將探討負載平衡的來龍去脈,以及智慧負載平衡如何能將您的整體網站性能提升到另一個層次。
什麼是「負載平衡」?
負載平衡是在多個後端伺服器(稱為伺服器農場或伺服器集用場(server pool))之間高效率地分散網路流量的過程,以便為客戶提供高速與高性能。
負載平衡旨在防止伺服器過載,並維持每個伺服器中正常的活動數量。
負載平衡器的角色經常被比喻為交通警察,位於您伺服器的前方,在任何給定的時刻於所有伺服器之間,將用戶端請求路由至正確的位置,並藉由確保沒有任何伺服器處於過度繁重的狀態,以防範不可預見的事件。
看更多:如何提升網站效能優化?推薦5個改善網站速度的方法一次看!
負載平衡器的四大功能:
-在多個伺服器之間高效率地分配用戶端請求或網路負載。
-僅將請求發送至上線的伺服器,確保高可用性及可靠度。
-提供靈活性,可視需求增加或減少伺服器
-為避免影響使用者經驗,當在伺服器群組中新增伺服器時,負載平衡器會自動開始向其發送請求。若單台伺服器出現故障,負載平衡器會將流量重新導向至其餘上線的伺服器。
圖片來源: NGINX
關於負載平衡的效益:
1.藉由擺脫停機時間提高生產力
負載平衡的最大優勢之一就是縮短停機時間。涵蓋不同時區的全球企業需要建置負載平衡,故在任何地點都不會發生工作中斷。若一家公司位於一個地方,安排維護就比較容易,因為只有一個時區。公司利用這一點並將停機安排在清晨或週末等非工作時間。
負載平衡讓您的公司能在不中斷工作時間的情況下,關閉任何伺服器以進行維護,並將流量引導至其他伺服器。以此方式,公司即可縮短停機時間,同時維持正常運行時間並提升性能。
2.因伺服器性能更高而允許更多流量帶來的可擴充性
網站的流量直接影響該網站的性能。因此,若流量突然激增,伺服器可能無法處理過多的流量,因而可能導致網站停擺。借助負載平衡,流量分散在多個伺服器上,故使整個系統能更有效率地處理流量。
負載平衡讓您能增加或移除資源,卻不會對傳入流量造成任何中斷。伺服器管理員能根據您網站的流量波動,擴大或縮減網站伺服器。
3.因為自動將流量轉移到可用的伺服器而實現備援
負載平衡可以大幅降低硬體失效的影響,並提升您網站的整體正常運行時間。若流量被發送至兩台或多台網站伺服器,且其中一台伺服器故障,則負載平衡器會自動將流量轉移到其他運作中的伺服器。
藉由維持多台經過負載平衡的伺服器,您可以確保即使硬體發生故障,一定會有運作中的伺服器在線上可處理網站流量。
4.維護任務期間的靈活性
IT管理員可以在網站伺服器上執行多項維護任務,而不會影響網站的正常運行時間,這提供了極大的靈活性。至少有一台伺服器始終可用於處理工作負載,而其他伺服器則進行維護的交錯維護系統,確保網站使用者不會遇到任何斷線情況。當負載平衡器處於主動/被動模式時,可以將所有流量引導至一台伺服器。
5.因為具有能及早偵測失效以避免工作負載中斷的能力,故能實現高效率
負載平衡有助於及早偵測這些失效,並將您伺服器或工作負載的中斷降至最低。借助遍佈在多個雲端供應商中的多個資料中心,您可以藉由繞過偵測到的故障,將資源重新分配至未受影響的其他區域。
為什麼負載平衡,會是優化網站加速性能的關鍵?
1. 不同類型的負載平衡器
負載平衡器可能會是一個真正的實體裝置,或是以整合在控制器中、具有特殊的一種或多種演算法的軟體方式運行。硬體型負載平衡器通常是高性能的裝置,能夠穩當地處理來自各類應用程式高達數十億位元的流量。
2.硬體型負載平衡器的效益
可能包含內建的虛擬化功能,可將多個虛擬負載平衡器執行個體統合在同一個硬體上。包含針對特殊用途調整的特定應用積體電路(Application Specific Integrated Circuit,ASIC),允許高速推動網路流量,且經常用於傳輸層的負載平衡,因其比軟體解決方案更快速。
-更靈活的多租戶架構及租戶的完全隔離。
-硬體型負載平衡器的缺點
-仰賴資料中心內的專用硬體。
-需要由經驗豐富的IT人員團隊安裝、調整及維護系統。
-只有擁有較多IT預算的大型企業才能獲得性能及可靠度提升帶來的效益。
-不支援雲端負載平衡,因為雲端供應商不允許在其環境有顧客硬體或專用硬體。
-軟體型負載平衡器在桌上型電腦或PC等標準硬體及標準作業系統上運行。
3.軟體型負載平衡器的效益
-可以完全取代負載平衡硬體,同時提供類似的功能與優異的靈活性。
-可以在常見的虛擬機器監視器(hypervisors)、容器中或作為 Linux程式運行,在裸機伺服器上的花費最低。
-高度可配置,視相關使用案例與技術要求而定。
-節省空間並降低硬體支出。
-能以較低的成本提供硬體型解決方案的性能。
-小型公司有能力負擔。
-非常適合雲端載入,因其在雲端運行,如同任何其他軟體應用程式一樣。
硬體、軟體負載平衡器&及負載方法
負載平衡器依循演算法,以決定有多少請求分佈在伺服器集用場中及其去向。視用戶端的具體需求,可選擇最適合相應情境的不同演算法。
不同類型的演算法包括:
-輪替法:伺服器群組依序分配請求。此程序仰賴一份輪替清單,使虛擬伺服器根據該清單將每個用戶端請求轉發至不同的伺服器。此方法容易建置,但因其未將伺服器上已有的負載納入考慮,故伺服器可能會因為太多的處理器密集型請求而超載。
-最少連接法:虛擬伺服器將用戶端請求發送至作用中連接數量最少的伺服器。這種方法在性能上優於輪替法,因其藉由查看相對運算能力,將每台伺服器上的當前負載納入考慮。
-最少時間法:此方法比最少連接法複雜。其仰賴伺服器回應運作狀態監控請求所需要的時間。此方法藉由查看回應速度,檢查伺服器的負載情況以及整體的預期使用者經驗。亦會將每台伺服器上的作用中連接數量納入考慮。
-雜湊法:負載平衡器根據傳入資料封包中各種資料的雜湊做出決定。封包內含連接或標頭資訊,例如來源或目的地IP位址、連接埠編號及URL。隨機選擇兩個-此方法隨機選擇兩台伺服器並將請求發送至選定的一台,然後採用最少連接演算法。
-最少頻寬法:此方法找尋當前服務流量(以每秒百萬位元(Mbps)為單位)最少的伺服器。
-最少封包法:此方法選取在給定時間段內收到最少封包的服務。
-自定負載法:負載平衡器透過SNMP查詢個別伺服器上的負載。管理員可定義要查詢的關注伺服器負載,包括CPU使用量、記憶體及回應時間,以便組合其請求。
不同的負載平衡方法,適用於不同的使用案例
Multi CDN及負載平衡:
適當地將Multi CDN與智慧負載平衡相結合,可依據使用者位置,將使用者請求引導至性能最佳的CDN。若一個區域內有多個供應商,可由最快的供應商提供內容。視情況與情境而定,有不同的負載平衡方法可管理及操作多個CDN。
瞭解更多:Multi CDN服務
RUM/合成監控驅動的負載平衡:
RUM及合成監控是兩種收集網站性能資料的不錯方式。為充分利用及使用這些資料來驅動負載平衡決定,必須擁有豐富的資料以便完全依靠任系統做出準確的決定。在全球部署數百個節點,用於一致的合成監控。節點就能從全球各個地區收集CDN性能及可用性資料。
除了利用透過合成監控所收集的資料外,亦會運用RUM資料。借助RUM資料,為客戶提供在其網站上安裝程式碼片段以收集真實使用者監控資料的選項,這些資料為匿名且具有隱私保護。
智慧負載平衡接著會將這兩個資料來源相結合,以準確地反映平台上所有可用CDN(不論在世界上任何地方)的實際性能狀態。
依據透過數百個策略性位置節點收集到的資料,不斷地識別流量並將其指向性能最佳的CDN,世界各地的客戶持續流暢地提升其網站性能,並將斷線及網站停機時間的風險降至最低。
智慧負載平衡的運作方式:
-當使用者造訪網站時,例如www.abc.com,即會觸發DNS查詢。
-透過分配的CNAME將請求導向系統。條件是其已正確地貼到DNS紀錄中。
-系統衡量使用者的地理位置、網路延遲及CDN性能。
-系統為使用者找尋最佳的CDN,並請求路由至指定的CDN。
-使用者現在可以透過選定的CDN存取www.abc.com。
2020年7月18日,Cloudflare的骨幹網路發生配置錯誤。導致中斷長達約27分鐘,直接對全球數千家企業造成影響。
許多網際網路使用量很大的地方都受到波及,包括美國東岸與西岸以及中部地區,一路擴及南美洲東岸,而且跨越海洋蔓延到歐洲多個地區,包括倫敦、法蘭克福、巴黎、斯德哥爾摩、莫斯科及聖彼得堡。
幸運的是,由於Cloudflare只是市集提供的眾多CDN之一,我們的負載平衡解決方案得以將 Cloudflare替換為性能次佳的 CDN(每個區域不同),以完成使用者請求。
重點摘要: 如今,電子商務的成功與生存取決於其為網站訪客提供快速且高效率的網路經驗的能力。隨著網際網路流量的增加與企業邁向全球化,關鍵在於有效地分散請求以防止緩慢的載入時間及停機時間。這就是智慧負載平衡大顯身手的時候!
延伸閱讀:
線上學習網站速度太慢怎麼辦?透過CDN達到網站加速!
如何提升網站速度及效能?推薦先搞懂動態v.s靜態網站的差異!