負載均衡排程演算法

2021-08-21 10:27:57 字數 1019 閱讀 1594

本文僅僅是總結lvs和nginx中常使用的負載均衡排程演算法

lvs:

輪詢(rr):按一次迴圈的方式將請求排程到不同的伺服器上。輪詢演算法假設所有的伺服器處理請求的能力都一樣,排程器會將所有的請求平均分配給每個真實伺服器

加權輪詢(wrr):lvs會考慮每台伺服器的效能,並給每台伺服器新增乙個權值,如果伺服器a的權值為1,伺服器b的權值為2,則排程器排程到伺服器b的請求會是a的兩倍

最小連線(lc):把請求排程到連線數量最小的伺服器上

加權最小連線(wlc):給每個伺服器乙個權值,排程器會盡可能保持伺服器連線數量與權值之間的平衡

基於區域性性最少的連線(lblc):根據請求的目標ip尋找最近該目標ip位址所使用的伺服器,如果這台伺服器依然可用,並且有能力處理該請求,排程器會盡量選擇相同的伺服器,否則會繼續選擇其他可行的伺服器

帶複製的基於區域性性最少連線(lblcr):記錄的不是乙個目標ip與一台伺服器之間的連線記錄,它會維護乙個目標ip到一組伺服器之間的對映關係,防止單點伺服器負載過高

nginx的upstream模組排程演算法:

靜態

輪詢(rr):同上

權重輪詢(wrr):同上

ip_hash(靜態排程演算法):每個請求按客戶端ip的雜湊結果分配,當新的請求到達時,先將其客戶端的ip通過雜湊演算法雜湊出乙個值,在隨後的請求中,客戶ip的雜湊值只要相同,就會被分配至同一臺伺服器,該排程演算法可以解決動態網頁的session共享問題。但有時會導致請求分配不均,因為國內大多數公司都是nat上網模式,多個客戶端對應乙個外部ip,所以這些客戶端會被分配到同一節點伺服器,從而導致請求分配不均

動態

負載均衡排程演算法

最常用之一,輪詢排程,它之所以最常用就是因為它實現起來很簡單,因為它很公平,就是集群中的每乙個realserver都是平均分配,沒有能者多勞一說 也是最常用之一,加權輪詢排程,就是輪詢排程的公升級版,它在輪詢排程的基礎上多了乙個叫 權重 的概念,權重就是在我們新增集群服務的時候,有乙個 w這個引數,...

負載均衡排程演算法簡介

在分布式架構體系中,業務邏輯復用的需求十分強烈,上層業務想借助已有的底層服務,來快速搭建更多 更豐富的應用,降低新業務開展的人力和時間成本,快速滿足瞬息變化的市場需求。公共的服務被拆分出來,形成可用的服務,最大程度的保障了 和邏輯的復用,避免重複建設,這種設計也稱之為soa。在soa架構之中,服務消...

負載均衡排程演算法簡介

在分布式架構體系中,業務邏輯復用的需求十分強烈,上層業務想借助已有的底層服務,來快速搭建更多 更豐富的應用,降低新業務開展的人力和時間成本,快速滿足瞬息變化的市場需求。公共的服務被拆分出來,形成可用的服務,最大程度的保障了 和邏輯的復用,避免重複建設,這種設計也稱之為soa。在soa架構之中,服務消...