一、概述
Nginx的upstream目前支持的分配算法:
1、round-robin 輪詢1:1輪流處理請求(默認(rèn))
每個請求按時間順序逐一分配到不同的應(yīng)用服務(wù)器,如果應(yīng)用服務(wù)器down掉,自動剔除,剩下的繼續(xù)輪詢。
2、weight 權(quán)重(加權(quán)輪詢)
通過配置權(quán)重,指定輪詢幾率,權(quán)重和訪問比率成正比,用于應(yīng)用服務(wù)器性能不均的情況。
3、ip_hash 哈希算法
每個請求按訪問ip的hash結(jié)果分配,這樣每個訪客固定訪問一個應(yīng)用服務(wù)器,可以解決session共享的問題。應(yīng)用服務(wù)器如果故障需要手工down掉。
參數(shù)含義:
down:表示單前的server暫時不參與負(fù)載
weight:默認(rèn)為1,weight越大,負(fù)載的權(quán)重就越大。
max_fails:允許請求失敗的次數(shù)默認(rèn)為1.當(dāng)超過最大次數(shù)時,返回proxy_next_upstream模塊定義的錯誤
fail_timeout:max_fails次失敗后,暫停的時間。
backup:其它所有的非backup機器down或者忙的時候,請求backup機器。
二、配置
1、round-robin 輪詢(默認(rèn))
1
2
3
4
5
6
7
8
9
10
11
|
upstream tg-t4 { server 10.0.0.110:8099; server 10.0.0.110:8098; } server { listen 8096; server_name www.tg-t4.com; location / { proxy_pass http://tg-t4; } } |
訪問結(jié)果:ABABABABA
2、加權(quán)輪詢
1
2
3
4
5
6
7
8
9
10
11
|
upstream tg-t4 { server 10.0.0.110:8099 weight=2; server 10.0.0.110:8098 weight=5; } server { listen 8096; server_name www.tg-t4.com; location / { proxy_pass http://tg-t4; } } |
訪問結(jié)果:ABBABB ABBABB
注:weight影響的訪問結(jié)果是按最小比例算的,而不是理想狀態(tài)下:AABBBBB AABBBBB
3、ip_hash
1
2
3
4
5
6
7
8
9
10
11
12
|
upstream tg-t4 { server 10.0.0.110:8099; server 10.0.0.110:8098; ip_hash; } server { listen 8096; server_name www.tg-t4.com; location / { proxy_pass http: //tg-t4 ; } } |
訪問結(jié)果:
IP1:AAAAAA
IP2:BBBBBB
4、熱備
1
2
3
4
5
6
7
8
9
10
11
12
|
upstream tg-t4 { server 10.0.0.110:8099; server 10.0.0.110:8098 backup; } ? server { listen 8096; server_name www.tg-t4.com; location / { proxy_pass http://tg-t4; } } |
訪問結(jié)果:
訪問1:兩個服務(wù)均正常。AAAAAA
訪問2:停用10.0.0.110:8099。BBBBBB
訪問3:重啟10.0.0.110:8099。AAAAAA
5、加參數(shù)優(yōu)化
1
2
3
4
5
6
7
8
9
10
11
12
|
upstream tg-t4 { server 10.0.0.110:8099 weight=1 max_fails=2 fail_timeout=2; server 10.0.0.110:8098 weight=3 max_fails=2 fail_timeout=2 backup; } ? server { listen 8096; server_name www.tg-t4.com; location / { proxy_pass http://tg-t4; } } |
訪問結(jié)果:同4
backup優(yōu)先級最高,當(dāng)有了這個參數(shù)設(shè)定,那么所對應(yīng)的服務(wù)只能作為熱備。
配置文件參考:
http://m.ythuaji.com.cn/article/229504.html
輪詢方式參考:
http://m.ythuaji.com.cn/article/52395.html
七層與四層參考:
http://m.ythuaji.com.cn/article/219220.html
到此這篇關(guān)于nginx 負(fù)載均衡輪詢方式配置的文章就介紹到這了,更多相關(guān)nginx 負(fù)載均衡內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/londa/article/details/123301649