輪詢
配置語法:
Syntax: upstream name {...}
Default: -
Context http
複製代碼
Syntax: server address [parameters];
Default: -
Context: upstream
複製代碼
{
upstream imooc {
server 192.168.8.1:8081;
server 192.168.8.1:8082;
server 192.168.8.1:8083;
}
// 輪詢使用3個 server。
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://xxx;
include proxy_params;
}
...
}
}
複製代碼
upstream 參數 |
說明 |
down |
當前的 erver 暫時不參與負載均衡 |
backup |
預留的備份服務器 |
max_fails |
容許請求失敗的次數 |
fail_timeout |
通過 max_fails 失敗後,服務暫停時間 |
max_conns |
限制最大的接收的鏈接數。 |
調度算法
方法 |
說明 |
輪詢 |
按時間順序注意分配到不一樣的後端服務器 |
加權輪詢 |
weight 值越大,分配到的訪問概率越高。 |
ip_hash |
每一個請求按訪問 IP 的 hash 結果分配,這樣來自同一個 IP 的固定訪問一個後端服務器。 |
url_hash |
每一個請求按訪問 URL 的 hash 結果分配,這樣來自同一個 IP 的固定訪問一個後端服務器。 |
least_conn |
最少鏈接數,那個機器鏈接數少就分發 |
hash 關鍵數值 |
hash 自定義的 key |