1. 程式人生 > 其它 >負載均衡器

負載均衡器

負載均衡器f5

負載均衡是高可用網路基礎架構的關鍵元件,通常用於將工作負載分佈到多個伺服器來提高網站、應用、資料庫或其他服務的效能和可靠性。

負載均衡器可以處理什麼樣的請求?

負載均衡器的管理員能主要為下面四種主要型別的請求設定轉發規則:

  • HTTP
  • HTTPS
  • TCP
  • UDP

負載均衡器如何選擇要轉發的後端伺服器?

負載均衡器一般根據兩個因素來決定要將請求轉發到哪個伺服器。首先,確保所選擇的伺服器能夠對請求做出響應,然後根據預先配置的規則從健康伺服器池(healthy pool)中進行選擇。

因為,負載均衡器應當只選擇能正常做出響應的後端伺服器,因此就需要有一種判斷後端伺服器是否「健康」的方法。為了監視後臺伺服器的執行狀況,執行狀態檢查服務會定期嘗試使用轉發規則定義的協議和埠去連線後端伺服器。如果,伺服器無法通過健康檢查,就會從池中剔除,保證流量不會被轉發到該伺服器,直到其再次通過健康檢查為止。

負載均衡演算法

負載均衡演算法決定了後端的哪些健康伺服器會被選中。幾個常用的演算法:

  • Round Robin(輪詢):為第一個請求選擇列表中的第一個伺服器,然後按順序向下移動列表直到結尾,然後迴圈。
  • Least Connections(最小連線):優先選擇連線數最少的伺服器,在普遍會話較長的情況下推薦使用。
  • Source:根據請求源的 IP 的雜湊(hash)來選擇要轉發的伺服器。這種方式可以一定程度上保證特定使用者能連線到相同的伺服器。

如果你的應用需要處理狀態而要求使用者能連線到和之前相同的伺服器。可以通過 Source 演算法基於客戶端的 IP 資訊建立關聯,或者使用粘性會話(sticky sessions)。

最後,想要解決負載均衡器的單點故障問題,可以將第二個負載均衡器連線到第一個上,從而形成一個叢集。

HAProxy

Nginx

原文:What is Load Balancing?

日報擴充套件閱讀:

 

參考

  什麼是負載均衡?

  三大主流負載均衡器LVS、Nginx、HAproxy詳解