3. nginx的请求转发算法,如何配置根据权重转发
生活随笔
收集整理的這篇文章主要介紹了
3. nginx的请求转发算法,如何配置根据权重转发
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
nginx支持的負(fù)載均衡調(diào)度算法方式如下:
- 輪詢(默認(rèn)算法):每個(gè)請求按時(shí)間順序分配到不同后端服務(wù)器,如果某個(gè)后端服務(wù)器宕機(jī),能自動(dòng)剔除掉。
- weight輪詢:nginx反向代理接收到客戶端收到的請求后,可以給不同的后端服務(wù)器設(shè)置一個(gè)權(quán)重值(weight),用于調(diào)整不同的服務(wù)器上請求的分配率;權(quán)重?cái)?shù)據(jù)越大,被分配到請求的幾率越大;該權(quán)重值,主要是針對實(shí)際工作環(huán)境中不同的后端服務(wù)器配置進(jìn)行配置的。比如說有些服務(wù)器的硬件配置高,比重就會(huì)比較大一點(diǎn)。
- upstream backend { server 192.168.0.14 weight=10; server 192.168.0.15 weight=10;
}
?
- upstream backend { server 192.168.0.14 weight=10; server 192.168.0.15 weight=10;
}
- ip_hash:每個(gè)請求按照發(fā)起客戶端ip的hash結(jié)果進(jìn)行匹配,這樣的算法每一個(gè)固定的ip地址的客戶端總會(huì)訪問到同一個(gè)后端服務(wù)器,這也在一定程度上解決了集群部署環(huán)境下session共享的問題。
- upstream backend { ip_hash; server 172.16.125.76:8066 weight=10; server 172.16.125.76:8077 down; server 172.16.0.18:8066 max_fails=3 fail_timeout=30s; server 172.16.0.18:8077 backup;
}
?
- upstream backend { ip_hash; server 172.16.125.76:8066 weight=10; server 172.16.125.76:8077 down; server 172.16.0.18:8066 max_fails=3 fail_timeout=30s; server 172.16.0.18:8077 backup;
}
- fair:智能調(diào)整調(diào)度算法,動(dòng)態(tài)的根據(jù)后端服務(wù)器的請求處理器的請求處理響應(yīng)的時(shí)間來進(jìn)行均衡分配,響應(yīng)時(shí)間短,處理效率高的服務(wù)器分配到請求的概率高,響應(yīng)時(shí)間長,處理效率低的服務(wù)器分配到的請求少;結(jié)合了前兩者的優(yōu)點(diǎn)的一種調(diào)度算法。但是需要注意的是nginx默認(rèn)不支持fair算法,如果要使用這種算法,需要安裝upstream_fair模塊。
- url_hash:按照訪問的url的hash結(jié)果分配請求,每個(gè)請求的url會(huì)指向后端固定的某個(gè)服務(wù)器,可以在nginx作為靜態(tài)服務(wù)器的情況下提高緩存效率。同樣要注意Nginx默認(rèn)不支持這種調(diào)度算法,要使用的話需要安裝nginx的hash軟件包。
?
?
參考鏈接:http://www.cnblogs.com/1214804270hacker/p/9325150.html
?
轉(zhuǎn)載于:https://www.cnblogs.com/GrimMjxCl/p/9299242.html
總結(jié)
以上是生活随笔為你收集整理的3. nginx的请求转发算法,如何配置根据权重转发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java基础:详解HashMap在多线程
- 下一篇: 通过 Java 线程堆栈进行性能瓶颈分析