主要的幾種負載平衡的演算法都在nginx裡面有用到,以下這篇文章對這幾種演算法介紹比較詳細,請參考。
http://baidutech.blog.51cto.com/4114344/1033718
文中提到了幾種常見的軟體負載均衡的演算法,平均分配(輪詢),加權輪詢;ip hash; fair(最小值負載平衡)這裡需要提到一點,筆者曾見過一位同事分析採用這個最小值負載平衡演算法可能產生抖動,由於機器上報延遲產生,同時上文中也提到了「
其中筆者的一位同事就是採用的帶權值的隨機負載平衡的演算法:每個機器的空閒率[0.01,1) 1 - 實際請求量/機器負載能力;然後將所有機器的空閒率[0.01,1) 1 - 實際請求量/機器負載能力;然後將所有機器的空閒率相加和S,隨機產生一個[0.01,1)的數R;得到D=S*R;用D依序減去每台機器的空閒率直到D
除了nginx還有兩種常用的負載平衡的軟體LVS 和HAProxy
三種軟體所用的中轉模式總結請見文章:
/article/details/46712105#
三種負載平衡軟體的優缺點請見文章:
:學//www.ha97.com/5646.html