nginx 負(fù)載均衡策略有哪幾種
??nginx的upstream目前支持的5種方式的分配:
??一、輪詢(默認(rèn))
??每個請求按時間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器down掉,能自動剔除。
??upstream backserver {
??server 192.168.0.14;
??server 192.168.0.15;
??}
??二、指定權(quán)重
??指定輪詢幾率,weight和訪問比率成正比,用于后端服務(wù)器性能不均的情況。
??upstream backserver {
??server 192.168.0.14 weight=10;
??server 192.168.0.15 weight=10;
??}
??三、IP綁定 ip_hash
??每個請求按訪問ip的hash結(jié)果分配,這樣每個訪客固定訪問一個后端服務(wù)器,可以解決session的問題。
??upstream backserver {
??ip_hash;
??server 192.168.0.14:88;
??server 192.168.0.15:80;
??}
??四、fair(第三方)
??按后端服務(wù)器的響應(yīng)時間來分配請求,響應(yīng)時間短的優(yōu)先分配。
??upstream backserver {
??server server1;
??server server2;
??fair;
??}
??五、url_hash(第三方)
??按訪問url的hash結(jié)果來分配請求,使每個url定向到同一個后端服務(wù)器,后端服務(wù)器為緩存時比較有效。
??upstream backserver {
??server squid1:3128;
??server squid2:3128;
??hash $request_uri;
??hash_method crc32;
??}
??在需要使用負(fù)載均衡的server中增加
??proxy_pass http://backserver/;
??upstream backserver{
??ip_hash;
??server 127.0.0.1:9090 down; (down 表示單前的server暫時不參與負(fù)載)
??server 127.0.0.1:8080 weight=2; (weight 默認(rèn)為1.weight越大,負(fù)載的權(quán)重就越大)
??server 127.0.0.1:6060;
??server 127.0.0.1:7070 backup; (其它所有的非backup機(jī)器down或者忙的時候,請求backup機(jī)器)
??}
??max_fails :允許請求失敗的次數(shù)默認(rèn)為1.當(dāng)超過最大次數(shù)時,返回proxy_next_upstream 模塊定義的錯誤
??fail_timeout:max_fails次失敗后,暫停的時間
??以上便是5種負(fù)載均衡策略的實(shí)現(xiàn)方式,其中除了輪詢和輪詢權(quán)重外,都是Nginx根據(jù)不同的算法實(shí)現(xiàn)的。在實(shí)際運(yùn)用中,需要根據(jù)不同的場景選擇性運(yùn)用,大都是多種策略結(jié)合使用以達(dá)到實(shí)際需求。小伙伴們要想獲得更多nginx 負(fù)載均衡策略的內(nèi)容,請關(guān)注新網(wǎng)!
聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時
需注明出處:新網(wǎng)idc知識百科