Nginx的負載均衡是通過upstream實現的,在前面也有介紹過,下面對Nginx常用的upstream方式
- nginx的upstream的幾種方式
輪詢(默認)
每個請求按照時間順序逐一分配到不同的后端服務器,如果后端服務器冗機,能自動剔除。
ip_hash
每個請求按訪問ip的hash結果分配,這樣每個訪問固定訪問一個后端服務器。
weight
指定輪詢幾率,weight和訪問比率成正比,用于后端服務器性能不均的情況。
fair(第三方)
按后端服務器的響應時間來分配請求,響應時間短的優先分配。
url_hash(第三方)
按訪問URL的hash結果來分配請求,使每個URL定向到同一個后端服務器,后端服務器為緩存時比較適用。另外,在upstream中加入hash語句后,server語句不能寫入weight等其他參數。
例如:
upstream blog.test.com {
#upstream的負載均衡,weight是權重,可以根據機器配置定義權重。weigth參數表示權值,權值越高被分配到的幾率越大。
server 192.168.80.121:80 weight=3;
server 192.168.80.122:80 weight=2;
server 192.168.80.123:80 weight=3;
}
總結一下,負載均衡簡單的理解其實可以看做是用戶請求Nginx,Nginx將用戶的請求URL按照配置的方式截取,然后按照配置的upstream的方式請求后端服務器。