佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 深入淺析nginx四種調(diào)度算法和進(jìn)階

深入淺析nginx四種調(diào)度算法和進(jìn)階

熱門標(biāo)簽:百度競價點(diǎn)擊價格的計(jì)算公式 智能手機(jī) 硅谷的囚徒呼叫中心 使用U盤裝系統(tǒng) 檢查注冊表項(xiàng) 阿里云 網(wǎng)站建設(shè) 美圖手機(jī)

upstream 支持4種負(fù)載均衡調(diào)度算法:

A)輪詢(默認(rèn)):每個請求按時間順序逐一分配到不同的后端服務(wù)器;

B)ip_hash:每個請求按訪問IP的hash結(jié)果分配,同一個IP客戶端固定訪問一個后端服務(wù)器;

C)url_hash:按訪問url的hash結(jié)果來分配請求,使每個url定向到同一個后端服務(wù)器;

D)fair:這是比上面兩個更加智能的負(fù)載均衡算法。此種算法可以依據(jù)頁面大小和加載時間長短智能地進(jìn) 行負(fù)載均衡,也就是根據(jù)后端服務(wù)器的響應(yīng)時間來分配請求,響應(yīng)時間短的優(yōu)先分配。Nginx本身是不支持 fair的,如果需要使用這種調(diào)度算法,必須下載Nginx的upstream_fair模塊。

1)默認(rèn)輪訓(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;        //返回真實(shí)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 

然后訪問驗(yàn)證~

客戶端能正常輪流訪問兩個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

然后訪問驗(yàn)證~

只能訪問一個WEB服務(wù)器; 查看兩個WEB服務(wù)器的日志。

3)設(shè)置后端負(fù)載均衡服務(wù)器的狀態(tài):

down,表示當(dāng)前的server暫時不參與負(fù)載均衡。 backup,預(yù)留的備份機(jī)器。當(dāng)其他所有的非backup機(jī)器出現(xiàn)故障或者忙的時候,才會請求backup機(jī)器,因 此這臺機(jī)器的壓力最輕。

注意:backup不能和ip_hash同時配置。因?yàn)閕p_hash只能訪問同一臺服務(wù)器,而backup是在只有所有參與

 負(fù)載均衡的服務(wù)器出現(xiàn)故障時,才會請求備份機(jī)。當(dāng)所有負(fù)載均衡的服務(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è)置備份機(jī)器
}
[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ù)器,能訪問到備機(jī); 注意:只有所有參與負(fù)載均衡的服務(wù)器出現(xiàn)故障時,才會請求備份機(jī)

總結(jié)

以上所述是小編給大家介紹的nginx四種調(diào)度算法和進(jìn)階,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

標(biāo)簽:山南 通遼 煙臺 湘潭 懷化 湖北 黃山 賀州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《深入淺析nginx四種調(diào)度算法和進(jìn)階》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    遵义县| 刚察县| 西乡县| 广灵县| 三江| 神木县| 萨迦县| 金沙县| 大埔县| 建昌县| 武隆县| 陇川县| 麻阳| 如皋市| 淮南市| 翼城县| 崇仁县| 安泽县| 乐清市| 宁德市| 英山县| 丹江口市| 大英县| 纳雍县| 靖安县| 淮滨县| 马鞍山市| 鄂尔多斯市| 康平县| 北辰区| 茌平县| 朝阳区| 岳阳市| 台北市| 大关县| 舒城县| 安顺市| 宜川县| 城步| 玉田县| 子长县|