負載均衡(演算法)

2021-07-12 05:00:52 字數 944 閱讀 2039

概念

負載:後端系統的承受能力;均衡:保證後端請求的平衡。

一種演算法,在跨平台系統呼叫的時候,考慮到後端機器承載情況的前提下,保證請求分配的平衡和合理。

為什麼需要(what?)

1、負載——當請求量過大,超過後端機器的承受能力時,有可能會導致某台機器宕機,同時也可能會引起連鎖反應,導致伺服器癱瘓。

2、均衡——合理利用資源,保證相應時間。

怎麼做(how?)

1、負載演算法

手工配置:根據各個機器的承受能力,固定寬度。多用於中小型系統,因為效能配置和承受能力都比較清楚。

動態調整:根據機器的執行狀態和歷史平均值進行對比,動態設定寬度。

2、均衡演算法

a、隨機演算法

選取後端伺服器的時候,採取隨機的乙個方法。

優缺點:均衡(從概率上來說)性,無狀態性。

案例:最常用的方法。

b、輪訓演算法

預先設定乙個陣列,作為固定排序,按順序選取後端伺服器。

優缺點:均衡性,有狀態性。

c、一致雜湊演算法

規定資料的範圍,從0~2的32次方,首尾相連形成乙個圓圈,以這個圓圈作為選取後端伺服器的標準。使用hash演算法計算並得到相應伺服器的值,並標記在圓圈的某些點(node-a,node-b),而每一次請求也同樣以這個hash演算法計算得到相應的值,並標記在圓圈上的某些點(request-1,request-2),然後通過順時針方向找到第乙個伺服器。

優缺點:無狀態性,雜湊不變性,異常情況後可分散性。

案例:多用於cash快取,將資源固定儲存到某台伺服器上。

d、主備演算法

將請求盡量放到某台固定的伺服器上,再提供一些伺服器做為備份,如果存在問題,則切換到另外的某台伺服器上。

案例:一些特殊的情況下,為了保證資料的時序性。——未搞懂,後續補充

負載均衡演算法

輪循演算法 roundrobin 說明 每一次來自網路的請求輪流分配給內部中的每台伺服器,從1至n然後重新開始 舉例 適合於伺服器組中的所有伺服器都有相同的軟硬體配置並且平均服務請求相對均衡的情況 最少連線演算法 leastconnection 說明 客戶端的每一次請求服務在伺服器停留的時間都可能會...

負載均衡演算法

網際網路分布式系統中,很多服務是資料儲存相關的,海量訪問量下,直接訪問儲存介質是抗不住的,需要使用cache,cache集群的負載均衡演算法就成為乙個重要的話題,這裡對現有的負載均衡演算法進行一些總結。btw 雖然是cache負載均衡演算法小結,其實可以說是負載均衡演算法小結,只是針對cache應用...

負載均衡演算法

負載均衡演算法的實現可以分成兩部分 1 根據負載均衡演算法和web伺服器列表計算得到集群中一台web伺服器的位址 2 將請求資料傳送到該位址對應的web伺服器上 負載均衡演算法通常有以下幾種 1 輪詢 round robin rr 所有請求被依次分發到每台應用伺服器上,即每台應用伺服器要處理的請求數...