您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Nginx七層負載均衡的調度算法有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Nginx七層負載均衡的調度算法有哪些”這篇文章吧。
Nginx是一款輕量級的高性能web服務器,同時也是一款非常優秀的負載均衡器和反向代理服務器。由于支持強大的正則匹配規則、動靜分離、URLrewrite功能及安裝配置簡單且對網絡穩定性依賴非常小等優點,所以常用來做為七層負載均衡使用。在硬件不差的情況下,通常可以穩定支持幾萬的并發連接,在硬件性能足夠好,且對系統內核參數及Nginx配置進行優化甚至可以達到10萬以上的并發。
以下是Nginx作為七層負載均衡常用的幾種調度算法和適用的業務場景
1、輪詢(默認調度算法)
特點:每個請求按時間順序逐一分配到不同的后端服務器處理。
適用業務場景:后端服務器硬件性能配置完全一致,業務無特殊要求時使用。
upstream backendserver { server 192.168.0.14:80 max_fails=2 fail_timeout=10s; server 192.168.0.15:80 max_fails=2 fail_timeout=10s; }
2、加權輪詢
特點:指定輪詢幾率,weight值(權重)和訪問比例成正比,用戶請求按權重比例分配。
適用業務場景:用于后端服務器硬件性處理能力不平均的情形。
upstream backendserver { server 192.168.0.14:80 weight=5 max_fails=2 fail_timeout=10s; server 192.168.0.15:80 weight=10 max_fails=2 fail_timeout=10s; }
3、ip_hash
特點:每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session會話保持問題。
適用業務場景:適用于需要賬號登錄的系統,會話連接保持的業務。
upstream backendserver { ip_hash; server 192.168.0.14:80 max_fails=2 fail_timeout=10s; server 192.168.0.15:80 max_fails=2 fail_timeout=10s; }
4、最少連接數 least_conn
特點:按nginx反向代理與后端服務器之間的連接數,連接數最少的優先分配。
適用業務場景:適用于客戶端與后端服務器需要保持長連接的業務。
upstream backendserver { least_conn; server 192.168.0.14:80 max_fails=2 fail_timeout=10s; server 192.168.0.15:80 max_fails=2 fail_timeout=10s; }
5、fair(需編譯安裝第三方模塊 ngx_http_upstream_fair_module)
特點:按后端服務器的響應時間來分配請求,響應時間短的優先分配。
適用業務場景:對訪問響應速度有一定要求的業務。
upstream backendserver { fair; server 192.168.0.14:80 max_fails=2 fail_timeout=10s; server 192.168.0.15:80 max_fails=2 fail_timeout=10s; }
6、url_hash(需編譯安裝第三方模塊 ngx_http_upstream_hash_module)
特點:按訪問url的hash結果來分配請求,使同一個url訪問到同一個后端服務器。
適用業務場景:適用于后端服務器為緩存服務器時比較有效。
upstream backendserver { server 192.168.0.14:80 max_fails=2 fail_timeout=10s; server 192.168.0.15:80 max_fails=2 fail_timeout=10s; hash $request_uri; }
以上是“Nginx七層負載均衡的調度算法有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。