本篇文章給大家分享的是有關(guān)nginx中有哪些調(diào)度算法,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
upstream 支持4種負載均衡調(diào)度算法:
A)輪詢(默認):每個請求按時間順序逐一分配到不同的后端服務(wù)器;
B)ip_hash:每個請求按訪問IP的hash結(jié)果分配,同一個IP客戶端固定訪問一個后端服務(wù)器;
C)url_hash:按訪問url的hash結(jié)果來分配請求,使每個url定向到同一個后端服務(wù)器;
D)fair:這是比上面兩個更加智能的負載均衡算法。此種算法可以依據(jù)頁面大小和加載時間長短智能地進 行負載均衡,也就是根據(jù)后端服務(wù)器的響應(yīng)時間來分配請求,響應(yīng)時間短的優(yōu)先分配。Nginx本身是不支持 fair的,如果需要使用這種調(diào)度算法,必須下載Nginx的upstream_fair模塊。
1)默認輪訓(xùn)
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf ... upstream roundrobin { //定義調(diào)度算法 server 192.168.31.33 weight=1; //server1 server 192.168.31.237 weight=1; //server2 } ... location / { proxy_set_header X-Real-IP $remote_addr; //返回真實IP proxy_pass http://roundrobin; //代理指向調(diào)度roundrobin } [root@proxy ~]# killall -9 nginx [root@proxy ~]# nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@proxy ~]# nginx
然后訪問驗證~
客戶端能正常輪流訪問兩個WEB服務(wù)器; 查看兩個WEB服務(wù)器的日志。
2)基于hash
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf ... upstream roundrobin { ip_hash; //添加參數(shù)支持哈希 server 192.168.31.33 weight=1; server 192.168.31.237 weight=1; } [root@proxy ~]# killall -9 nginx [root@proxy ~]# nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@proxy ~]# nginx
然后訪問驗證~
只能訪問一個WEB服務(wù)器; 查看兩個WEB服務(wù)器的日志。
3)設(shè)置后端負載均衡服務(wù)器的狀態(tài):
down,表示當(dāng)前的server暫時不參與負載均衡。 backup,預(yù)留的備份機器。當(dāng)其他所有的非backup機器出現(xiàn)故障或者忙的時候,才會請求backup機器,因 此這臺機器的壓力最輕。
注意:backup不能和ip_hash同時配置。因為ip_hash只能訪問同一臺服務(wù)器,而backup是在只有所有參與
負載均衡的服務(wù)器出現(xiàn)故障時,才會請求備份機。當(dāng)所有負載均衡的服務(wù)器出現(xiàn)故障了,ip_hash的將無法 請求了。
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf upstream roundrobin { server 192.168.31.33 weight=1; server 192.168.31.35 weight=1; server 192.168.31.237 backup; //設(shè)置備份機器 } [root@proxy ~]# killall -9 nginx [root@proxy ~]# nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@proxy ~]# nginx
關(guān)閉兩臺WEB服務(wù)器,能訪問到備機; 注意:只有所有參與負載均衡的服務(wù)器出現(xiàn)故障時,才會請求備份機
以上就是nginx中有哪些調(diào)度算法,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
名稱欄目:nginx中有哪些調(diào)度算法-創(chuàng)新互聯(lián)
當(dāng)前地址:http://chinadenli.net/article30/dgjgso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、ChatGPT、商城網(wǎng)站、自適應(yīng)網(wǎng)站、關(guān)鍵詞優(yōu)化、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容