淺析Nginx 負(fù)載均衡4種模式
4 種負(fù)載均衡算法
upstream 支持4種負(fù)載均衡調(diào)度算法:
A)輪詢(xún)(默認(rèn)):每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器;
B)ip_hash:每個(gè)請(qǐng)求按訪(fǎng)問(wèn)IP的hash結(jié)果分配,同一個(gè)IP客戶(hù)端固定訪(fǎng)問(wèn)一個(gè)后端服務(wù)器。可以保證來(lái)自同一ip的請(qǐng)求被打到固定的機(jī)器上,可以解決session問(wèn)題。
C)url_hash:按訪(fǎng)問(wèn)url的hash結(jié)果來(lái)分配請(qǐng)求,使每個(gè)url定向到同一個(gè)后端服務(wù)器。后臺(tái)服務(wù)器為緩存的時(shí)候效率。
D)fair:這是比上面兩個(gè)更加智能的負(fù)載均衡算法。此種算法可以依據(jù)頁(yè)面大小和加載時(shí)間長(zhǎng)短智能地進(jìn)行負(fù)載均衡,也就是根據(jù)后端服務(wù)器的響應(yīng)時(shí)間來(lái)分配請(qǐng)求,響應(yīng)時(shí)間短的優(yōu)先分配。Nginx本身是不支持 fair的,如果需要使用這種調(diào)度算法,必須下載Nginx的 upstream_fair模塊。
1、默認(rèn)輪訓(xùn)
打開(kāi) nginx 配置文件
[root@master ~]# vi /etc/nginx/conf.d/default.conf
寫(xiě)輪訓(xùn)配置
#設(shè)定負(fù)載均衡服務(wù)器列表 upstream roundrobin { #后端服務(wù)器訪(fǎng)問(wèn)規(guī)則 server 192.168.1.115:8080 weight=1; #server1 server 192.168.1.131:8081 weight=1; #server1 server 192.168.1.94:8090 weight=1; #server3 } server { listen 80; server_name 192.168.1.131; location / { proxy_pass http://roundrobin; } }
配置完成后
//檢查 nginx 配置是否正確 nginx -t //重新加載 nginx 配置 service nginx reload
當(dāng)訪(fǎng)問(wèn) http://192.168.131 的時(shí)候,會(huì)把這個(gè)請(qǐng)求負(fù)載到 192.168.1.115 的 8080 端口、192.168.1.115 的 8080 端口、192.168.1.115 的 8080 端口。負(fù)載的權(quán)重由 weight 來(lái)決定,默認(rèn)為 1 ,weight 越大,權(quán)重就越大。
2、基于hash
#設(shè)定負(fù)載均衡服務(wù)器列表 upstream roundrobin { #后端服務(wù)器訪(fǎng)問(wèn)規(guī)則 ip_hash; #添加參數(shù)支持哈希 server 192.168.1.115:8080 weight=1; #server1 server 192.168.1.131:8080 weight=1; #server1 server 192.168.1.94:8090 weight=1; #server3 } server { listen 80; server_name 192.168.1.131; location / { proxy_pass http://roundrobin; } }
設(shè)置后端負(fù)載均衡服務(wù)器的狀態(tài)
down,表示當(dāng)前的server暫時(shí)不參與負(fù)載均衡。
backup,預(yù)留的備份機(jī)器。當(dāng)其他所有的非backup機(jī)器出現(xiàn)故障或者忙的時(shí)候,才會(huì)請(qǐng)求backup機(jī)器,因 此這臺(tái)機(jī)器的壓力最輕。
注意:backup不能和ip_hash同時(shí)配置。因?yàn)閕p_hash只能訪(fǎng)問(wèn)同一臺(tái)服務(wù)器,而backup是在只有所有參與 負(fù)載均衡的服務(wù)器出現(xiàn)故障時(shí),才會(huì)請(qǐng)求備份機(jī)。當(dāng)所有負(fù)載均衡的服務(wù)器出現(xiàn)故障了,ip_hash的將無(wú)法 請(qǐng)求了。
#設(shè)定負(fù)載均衡服務(wù)器列表 upstream roundrobin { #后端服務(wù)器訪(fǎng)問(wèn)規(guī)則 server 192.168.1.115:8080 weight=1; #server1 server 192.168.1.131:8080 down; #server2 不參與負(fù)載 server 192.168.1.94:8090 backup; #server3 備份機(jī) } server { listen 80; server_name 192.168.1.131; location / { proxy_pass http://roundrobin; } }
參考文檔
總結(jié)
以上所述是小編給大家介紹的Nginx 負(fù)載均衡4種模式,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- 如何通過(guò)nginx負(fù)載均衡跳轉(zhuǎn)https
- 淺談Nginx七層反向代理和負(fù)載均衡
- 詳解Nginx服務(wù)器之負(fù)載均衡策略(6種)
- linux下nginx負(fù)載均衡搭建的方法步驟
- nginx實(shí)現(xiàn)負(fù)載均衡和動(dòng)靜分離
- Nginx負(fù)載均衡配置簡(jiǎn)單配置方法
- nginx 負(fù)載均衡的三種參數(shù)設(shè)置
- Nginx負(fù)載均衡(架構(gòu)之路)詳解
- iis+nginx實(shí)現(xiàn)負(fù)載均衡的詳細(xì)步驟
- 負(fù)載均衡的基本知識(shí)以及使用nginx進(jìn)行負(fù)載均衡的簡(jiǎn)單例子
相關(guān)文章
Nginx之location匹配和Rewrite重寫(xiě)跳轉(zhuǎn)方式
這篇文章主要介紹了Nginx之location匹配和Rewrite重寫(xiě)跳轉(zhuǎn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06Nginx跨域設(shè)置Access-Control-Allow-Origin無(wú)效的解決辦法
今天小編就為大家分享一篇關(guān)于Nginx跨域設(shè)置Access-Control-Allow-Origin無(wú)效的解決辦法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02在Nginx中增加對(duì)OAuth協(xié)議的支持的教程
這篇文章主要介紹了在Nginx中增加對(duì)OAuth協(xié)議的支持的教程,OAuth協(xié)議如今廣泛用于社交網(wǎng)絡(luò)的API中,需要的朋友可以參考下2015-06-06使用nginx正向代理實(shí)現(xiàn)內(nèi)網(wǎng)域名轉(zhuǎn)發(fā)過(guò)程解析
這篇文章主要介紹了使用nginx正向代理實(shí)現(xiàn)內(nèi)網(wǎng)域名轉(zhuǎn)發(fā)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08Nginx+Tomcat搭建高性能負(fù)載均衡集群的實(shí)現(xiàn)方法
這篇文章主要介紹了Nginx+Tomcat搭建高性能負(fù)載均衡集群的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03Nginx+Tomcat群集的實(shí)現(xiàn)示例
這篇文章主要介紹了Nginx+Tomcat群集的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07