負載平衡系統將傳入的客戶端請求分發到計算資源 (如應用程序服務器和數據庫)。在每種狀況下, 負載平衡服務將處理結果從計算資源附 u返回到相應的客戶端。負載平衡器在如下狀況下有效:
git
負載平衡器可使用硬件或軟件 (如 HAProxy) 來實現, 但相對來講硬件價格會昂貴一些。
github
爲了防止故障, 一般在active-passive和active-active模式下設置多個負載平衡器。
web
4層負載平衡是在傳輸層上的服務,根據傳輸層的信息進行請求分發。一般, 這涉及到源、目標 IP 地址和header中的端口, 而不是數據包的具體內容。4層負載平衡向上遊服務器轉發網絡數據包, 執行網絡地址轉換 (NAT)。
數據庫
7層負載平衡是在應用層上決定如何分發請求的。這可能涉及頭部、消息和 cookie 的內容。7層負載平衡器終止網絡通訊, 讀取消息, 進行負載平衡決策, 而後打開與所選服務器的鏈接。例如, 7 層負載平衡器能夠將視頻通訊定向到承載視頻的服務器, 同時將更敏感的用戶計費流量定向到更安全的服務器。後端
儘管在硬件上的性能損耗比較小,但以靈活性爲代價, 4 層負載平衡比7層須要更少的時間和計算資源。
緩存
經過水平縮放,負載平衡能夠提升性能和可用性。向系統中的單個節點添加資源 (或從中移除資源), 一般涉及將 cpu 或內存增長到一臺計算機上叫作垂直擴展,相比使用商業機器進行擴展具備成本效益, 提升可用性。
安全