負載均衡,英文名稱為load balance,其意思就是分攤到多個操作單元上進行執行,例如web伺服器、ftp伺服器、企業關鍵應用伺服器和其它關鍵任務伺服器等,從而共同完成工作任務。
負載均衡是高可用網路基礎架構的關鍵元件,通常用於將工作負載分布到多個伺服器來提高**、應用、資料庫或其他服務的效能和可靠性。它提供了一種廉價有效透明的方法擴充套件網路裝置和伺服器的頻寬、增加吞吐量、加強網路資料處理能力、提高網路的靈活性和可用性。
乙個沒有負載均衡的 web 架構類似下面這樣:
在這裡使用者是直連到 web 伺服器,如果這個伺服器宕機了,那麼使用者自然也就沒辦法訪問了。另外,如果同時有很多使用者試圖訪問伺服器,超過了其能處理的極限,就會出現載入速度緩慢或根本無法連線的情況。
而通過在後端引入乙個負載均衡器和至少乙個額外的 web 伺服器,可以緩解這個故障。通常情況下,所有的後端伺服器會保證提供相同的內容,以便使用者無論哪個伺服器響應,都能收到一致的內容。
從圖里可以看到,使用者訪問負載均衡器,再由負載均衡器將請求**給後端伺服器。在這種情況下,單點故障現在轉移到負載均衡器上了。這裡又可以通過引入第二個負載均衡器來緩解,但在討論之前,我們先**下負載均衡器的工作方式。
負載均衡器可以處理什麼樣的請求?
負載均衡器的管理員能主要為下面四種主要型別的請求設定**規則:
負載均衡器如何選擇要**的後端伺服器?
負載均衡器一般根據兩個因素來決定要將請求**到哪個伺服器。首先,確保所選擇的伺服器能夠對請求做出響應,然後根據預先配置的規則從健康伺服器池(healthy pool)中進行選擇。
因為,負載均衡器應當只選擇能正常做出響應的後端伺服器,因此就需要有一種判斷後端伺服器是否「健康」的方法。為了監視後台伺服器的執行狀況,執行狀態檢查服務會定期嘗試使用**規則定義的協議和埠去連線後端伺服器。如果,伺服器無法通過健康檢查,就會從池中剔除,保證流量不會被**到該伺服器,直到其再次通過健康檢查為止。
負載均衡演算法
負載均衡演算法決定了後端的哪些健康伺服器會被選中。幾個常用的演算法:
•round robin(輪詢): 為第乙個請求選擇列表中的第乙個伺服器,然後按順序向下移動列表直到結尾,然後迴圈。
•least connections(最小連線): 優先選擇連線數最少的伺服器,在普遍會話較長的情況下推薦使用。
•source: 根據請求源的 ip 的雜湊(hash)來選擇要**的伺服器。這種方式可以一定程度上保證特定使用者能連線到相同的伺服器。
如果你的應用需要處理狀態而要求使用者能連線到和之前相同的伺服器。可以通過 source 演算法基於客戶端的 ip 資訊建立關聯,或者使用粘性會話(sticky sessions)。
最後,想要解決負載均衡器的單點故障問題,可以將第二個負載均衡器連線到第乙個上,從而形成乙個集群。
當主負載均衡器發生了故障,就需要將使用者請求轉到第二個負載均衡器。因為 dns 更改通常會較長的時間才能生效,因此需要能靈活解決 ip 位址重新對映的方法,比如浮動 ip(floating ip)。這樣網域名稱可以保持和相同的 ip 相關聯,而 ip 本身則能在伺服器之間移動。
乙個使用浮動 ip 的負載均衡架構示意圖:
以上就是我對負載均衡器簡單理解。
原文內容
負載均衡器
負載均衡器f5 負載均衡是高可用網路基礎架構的關鍵元件,通常用於將工作負載分布到多個伺服器來提高 應用 資料庫或其他服務的效能和可靠性。負載均衡器可以處理什麼樣的請求?負載均衡器的管理員能主要為下面四種主要型別的請求設定 規則 負載均衡器如何選擇要 的後端伺服器?負載均衡器一般根據兩個因素來決定要將...
負載均衡器簡介
負載均衡器可以根據實際的響應時間制定優先順序交付決策,從而實現高效能 智慧型化流量管理,達到最佳的伺服器群效能。採用第七層應用控制還可以減少通訊高峰期的錯誤訊息,因為差錯控制和流量管理技術可以偵測到一些錯誤資訊,並透明地將會話重定向到另乙個伺服器,使使用者順利地進行使用。例如,伺服器 a不可用或者資...
LVS負載均衡器
lvs是乙個開源的軟體,可以實現linux平台下的簡單負載均衡。lvs是linux virtual server的縮寫,意思是linux虛擬伺服器。優點 1 開源,免費 2 在網上能找到一些相關技術資源 3 具有軟體負載均衡的一些優點 缺點 1 具有開源產品常有的缺點,最核心的就是沒有可靠的支援服務...