負載均衡用來解決用戶請求到來時如何選擇 upstream server 進行處理,這里主要介紹幾種負載均衡演算法,
1、round-robin:輪詢,默認負載均衡演算法,即以輪詢的方式將請求轉發到上游服務器,通過配合weight配置可以實作基于權重的輪詢,
upstream bakend { server 192.168.1.1:8080 weight=1; server 192.168.1.2:8080 weight=1; }
2、weight:權重,weight用來配置權重,默認都是1,權重越高分配給這臺服務器的請求就越多,需要根據服務器實際處理能力設定權重,
upstream bakend { server 192.168.1.1:8080 weight=1; server 192.168.1.2:8080 weight=2; }
3、ip_hash:根據客戶IP進行負載均衡,即相同的IP將負載均衡到同一個upstream server,
upstream bakend { ip_hash; server 192.168.1.1:8080 weight=1; server 192.168.1.2:8080 weight=2; }
4、hash key:對某一個key進行哈希或者使用一致性哈希演算法進行負載均衡,
- 哈希演算法:此處是根據請求uri進行負載均衡,
upstream bakend { hash $uri; server 192.168.1.1:8080 weight=1; server 192.168.1.2:8080 weight=2; }
- 一致性哈希演算法:consistent_key 動態指定,
upstream bakend { hash $consistent_key consistent; server 192.168.1.1:8080 weight=1; server 192.168.1.2:8080 weight=2; }
5、least_conn:將請求負載均衡到最少活躍連接的上游服務器,如果配置的服務器較少,則將轉而使用基于權重的輪詢演算法,
upstream bakend { least_conn; server 192.168.1.1:8080 weight=1; server 192.168.1.2:8080 weight=2; }
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/178092.html
標籤:架構設計
下一篇:Nginx負載均衡演算法
