摘要:本身是不支持的,如果需要使用這種調度算法,必須下載的模塊。表示當前的暫時不參與負載。允許請求失敗的次數,默認為。當超過最大次數時,返回模塊定義的錯誤。
nginx 的 upstream 模塊 負載均衡分配策略 普通輪詢(默認)
每個請求按時間順序逐一分配到不同的后端服務器,如果后端某臺服務器宕機,故障系統被自動剔除,使用戶訪問不受影響。
upstream backend { server 192.168.0.1; server 192.168.0.1; }加權輪詢(前者的進化版)
weight 指定輪詢的權值,weight值越大,分配到的訪問機率越高,此策略主要用于后端每個服務器性能不均的情況下。
upstream backend { server 192.168.0.1 weight=10; server 192.168.0.2 weight=20; # 這臺服務器性能好 所以設置weight=30 使之被訪問的幾率最大 server 192.168.0.3 weight=30; }ip_hash
每個請求按訪問IP的hash結果分配,這樣來自同一個IP的訪客固定訪問一個后端服務器,可以解決session不能跨服務器的問題。當然如果這個節點不可用了,會發到下個節點,而此時沒有session同步的話就注銷掉了。
upstream backend { ip_hash; server 192.168.0.1:88; server 192.168.0.1:80; }least_conn
請求被發送到當前活躍連接最少的后端服務器。會考慮weight的值。如果有多個后端服務器的 conns 值同為最小的,那么對它們采用加權輪詢算法(weight)。
upstream backend { least_conn; server 192.168.0.1:88; server 192.168.0.1:80; }fair(upstream_fair模塊)
根據后端服務器的響應時間來分配請求,響應時間短的優先分配。Nginx本身是不支持 fair 的,如果需要使用這種調度算法,必須下載Nginx的 upstream_fair 模塊。
upstream backend { server 192.168.0.14:88; server 192.168.0.15:80; fair; }url_hash(nginx _upstream_hash模塊)
此方法按訪問 url 的 hash 結果來分配請求,使每個 url 定向到同一個后端服務器,可以進一步提高后端緩存服務器的效率。Nginx 本身是不支持 url _ hash 的,如果需要使用這種調度算法,必須下載 Nginx 的 nginx_upstream_hash 模塊。
upstream backend { server 192.168.0.1; server 192.168.0.2; hash $request_uri; hash_method crc32; }server 支持的參數說明
upstream backend { server 192.168.0.1; server 192.168.0.2:8080 weight=1 max_fails=2 fail_timeout=30s ; server 192.168.0.3:8080 backup; } server { location / { proxy_pass http://backend; proxy_next_upstream error|timeout|..; } } weight:輪詢權值,默認值為1。 down:表示當前的server暫時不參與負載。 max_fails:允許請求失敗的次數,默認為1。當超過最大次數時,返回 proxy_next_upstream 模塊定義的錯誤。 fail_timeout:有兩層含義,一是在fail_timeout時間內最多容許max_fails次失敗;二是在經歷了max_fails次失敗以后,30s時間內不分配請求到這臺服務器。 backup : 備份機器。當其他所有的非 backup 機器出現故障的時候,才會請求backup機器,因此這臺機器的壓力最輕。 max_conns: 限制同時連接到某臺后端服務器的連接數,默認為 0。即無限制。 proxy_next_upstream : 這個指令屬于 http_proxy 模塊的,指定后端返回什么樣的異常響應
proxy_next_upstream 的參數說明請看這里
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/39435.html
摘要:實現負載均衡負載均衡是反向代理技術的一種運用。而實現負載均衡的核心在于如何將請求合理地分配給不同的后端服務器。 這是 Nginx 學習總結的第六篇,上一篇介紹到了 Nginx 學習總結(5) —— 反向代理,本文主要演示結合 proxy 和 upstream 模塊的使用來實現 Nginx 的負載均衡。 Nginx 官網中對 upstream 模塊的介紹:ngx_http_upstrea...
摘要:這個指令屬于模塊的,指定后端返回什么樣的異常響應時,使用另一個是專門提供負載均衡器內節點的健康檢查的外部模塊,由淘寶的姚偉斌大神開發,通過它可以用來檢測后端的健康狀態。 關于nginx的安裝和基本配置請參考nginx,本文在原基礎上完成以下幾個功能: 結合proxy和upstream模塊實現nginx負載均衡 結合nginx_upstream_check_module模塊實現后端服...
摘要:常用的狀態有,表示當前的暫時不參與負載均衡。當負載調度算法為時,后端服務器在負載均衡調度中的狀態不能是和。 MonkeyEye(猿眼售票系統)項目地址:https://github.com/SYSUMonkeyEye/MonkeyEye-FE 反向代理概念 反向代理(Reverse Proxy)方式是指以代理服務器來接受客戶端連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上...
閱讀 1487·2021-10-14 09:43
閱讀 1453·2021-10-09 09:58
閱讀 1946·2021-09-28 09:42
閱讀 3737·2021-09-26 09:55
閱讀 1763·2021-08-27 16:23
閱讀 2765·2021-08-23 09:46
閱讀 915·2019-08-30 15:55
閱讀 1432·2019-08-30 15:54