負載均衡的原理是指將大量請求作業合理地分攤到多個操作單元上進行執行,從而解決網絡中的高并發和高可用問題。
具體內容如下:
負載均衡是高可用網絡基礎架構的一個關鍵組成部分,有了負載均衡,我們通常可以將我們的應用服務器部署多臺,然后通過負載均衡將用戶的請求分發到不同的服務器用來提高網站、應用、數據庫或其他服務的性能以及可靠性。
下面看一個不使用負載均衡的Web架構,如下圖所示。
不使用負載均衡的Web架構
在上圖中,客戶端之間通過網絡與Web服務端相連,假想如果Web服務器宕機,那么用戶訪問網站時將得不到任何響應,出現單點故障問題。即使服務器可以正常工作,如果很多用戶同時訪問服務器,超過服務器的處理能力,那么會出現響應速度慢或者無法連接的情況,這也是用戶無法接受的。
引入負載均衡可以有效解決上述問題,它可以將負載(工作任務)進行平衡、分攤到多個執行單元上運行。例如,Web服務器、FTP服務器、企業關鍵應用服務器和其他主要任務服務器等,協同完成工作任務。
負載均衡分為硬件負載均衡和軟件負載均衡兩種,具體介紹如下:
● 硬件負載均衡的解決方案就是直接在服務器和外部網絡間安裝負載均衡設備,通常這種設備稱為負載均衡器。由專門的設備完成專門的任務,獨立于操作系統,整體性能得到大量提高,加上多樣化的負載均衡策略,智能化的流量統計,可達到最佳的負載均衡效果。
● 軟件負載均衡的解決方案是指在一臺或多臺服務器相應的操作系統上安裝一個或多個附加軟件來實現負載均衡,如DNS Load Balance,CheckPoint Firewall-1 ConnectControl等,它的優點是基于特定環境,配置簡單,使用靈活,成本低廉,可以滿足一般的負載均衡需求。
無論哪種負載均衡策略,都是為了系統高可用、緩解網絡壓力以及擴容機器處理能力。下面看一個使用負載均衡的Web架構,具體如下圖所示。
負載均衡的Web架構
在上圖中,負載均衡器會維護一個可用的服務清單,通過心跳檢測來剔除故障的服務端節點以保證服務器清單中都是可以正常訪問的服務器。當客戶端借助網絡發送請求到負載均衡器時,負載均衡器會按照某種算法,從維護的服務清單里面選擇一個服務器,并將客戶端請求轉發到指定的服務器,從而提高系統的可用性和穩定性。