最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx負(fù)載均衡之upstream模塊簡(jiǎn)介與使用詳解

 更新時(shí)間:2022年09月13日 15:06:22   作者:恒悅sunsite  
nginx有一個(gè)最大的功能就是可以實(shí)現(xiàn)服務(wù)器的負(fù)載均衡,下面這篇文章主要給大家介紹了關(guān)于Nginx負(fù)載均衡之upstream模塊簡(jiǎn)介與使用的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、upstream模塊簡(jiǎn)介

Nginx的負(fù)載均衡功能依賴于ngx_http_upsteam_module模塊,所支持的代理方式包括proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass, memcached_pass和grpc_pass。ngx_http_upstream_module模塊有允許Nginx定義一組或多組服務(wù)組,使用的可以通過proxy_pass代理方式把網(wǎng)站的請(qǐng)求發(fā)送到事先定義好的對(duì)應(yīng)upstream組的名字上。upstream模塊可以實(shí)現(xiàn)負(fù)載均衡,其實(shí)隱含了一個(gè)重要功能那就是冗余,在一個(gè)web節(jié)點(diǎn)故障的時(shí)候,配置了upstream時(shí)可以自動(dòng)切換到正常工作的節(jié)點(diǎn)。

二、負(fù)載均衡算法簡(jiǎn)介

調(diào)度算法一般分為兩類:第一類為靜態(tài)調(diào)度算法,即負(fù)載均衡器根據(jù)自身設(shè)定的規(guī)則進(jìn)行分配,不需要考慮后端節(jié)點(diǎn)服務(wù)器的情。第二類為動(dòng)態(tài)調(diào)度算法,即負(fù)載均衡器會(huì)根據(jù)后端節(jié)點(diǎn)的當(dāng)前狀態(tài)來(lái)決定是否分發(fā)請(qǐng)求。

1、輪詢

rr 輪循即round robin 默認(rèn)調(diào)度算法,靜態(tài)調(diào)度算法??蛻舳苏?qǐng)求順序把客戶端的請(qǐng)求逐一分配到不同的后端節(jié)點(diǎn)服務(wù)器,這相當(dāng)于 LVS 中的 rr 算法,如果后端節(jié)點(diǎn)服務(wù)器宕機(jī)(默認(rèn)情況下nginx 只檢測(cè)80端口)。宕機(jī)的服務(wù)器會(huì)自動(dòng)從節(jié)點(diǎn)服務(wù)器池中剔除,以便客戶端的用戶訪問不受影響。新的請(qǐng)求會(huì)分配給正產(chǎn)的服務(wù)器。

2、權(quán)重輪詢

wrr即weight 權(quán)重輪循,靜態(tài)調(diào)度算法。在 rr 輪循算法的基礎(chǔ)上加上權(quán)重,即為權(quán)重輪循算法,當(dāng)使用該算法時(shí),權(quán)重和用戶訪問成正比,權(quán)重值越大,被轉(zhuǎn)發(fā)的請(qǐng)求也就越多??梢愿鶕?jù)服務(wù)器的配置和性能指定權(quán)重值大小,有效解決新舊服務(wù)器性能不均帶來(lái)的請(qǐng)求分配問題。

3、IP哈希

ip_hash是靜態(tài)調(diào)度算法,每個(gè)請(qǐng)求按客戶端 IP 的 hash 結(jié)果分配,當(dāng)新的請(qǐng)求到達(dá)時(shí),先將其客戶端IP通過哈希算法哈希出一個(gè)值,在隨后的客戶端請(qǐng)求中,客戶 IP 的哈希值只要相同,就會(huì)被分配至同一臺(tái)服務(wù)器,該調(diào)度算法可以解決動(dòng)態(tài)網(wǎng)頁(yè)的 session 共享問題,但有時(shí)會(huì)導(dǎo)致請(qǐng)求分配不均,即無(wú)法保證 1:1 的負(fù)載均衡,因?yàn)樵趪?guó)內(nèi)大多數(shù)公司都是 NAT 上網(wǎng)模式,多個(gè)客戶端會(huì)對(duì)應(yīng)一個(gè)外部 IP,所以,這些客戶端都會(huì)被分配到同一節(jié)點(diǎn)服務(wù)器,從而導(dǎo)致請(qǐng)求分配不均。LVS 負(fù)載均衡的 -P 參數(shù)、keepalived 配置里的 persistence_timeout 50 參數(shù)都類似這個(gè) Nginx 里的 ip_hash 參數(shù),其功能均為解決動(dòng)態(tài)網(wǎng)頁(yè)的 session 共享問題。

4、最小連接數(shù)

least_conn是動(dòng)態(tài)調(diào)度算法,會(huì)根據(jù)后端節(jié)點(diǎn)的連接數(shù)來(lái)決定分配情況,哪個(gè)機(jī)器連接數(shù)少就分發(fā)。

5、最短響應(yīng)時(shí)間

最短響應(yīng)時(shí)間(fair)調(diào)度算法是動(dòng)態(tài)調(diào)度算法,會(huì)根據(jù)后端節(jié)點(diǎn)服務(wù)器的響應(yīng)時(shí)間來(lái)分配請(qǐng)求,響應(yīng)時(shí)間端的優(yōu)先分配。這是更加智能的調(diào)度算法。此種算法可以依據(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)度算法的,如果需要使用這種調(diào)度算法,必須下載 Nginx 的相關(guān)模塊 upstream_fair。

6、url_hash算法

url_hash算法是動(dòng)態(tài)調(diào)度算法,按訪問 URL 的 hash 結(jié)果來(lái)分配請(qǐng)求,使每個(gè) URL 定向到同一個(gè)后端服務(wù)器,可以進(jìn)一步提高后端緩存服務(wù)器的效率命中率。(多用于后端服務(wù)器為緩存時(shí)的場(chǎng)景下)Nginx 本身是不支持 rul_hash的,如果需要使用這種調(diào)度算法,必須安裝 Nginx 的hash 模塊軟件包。

三、配置示例

1、配置示例模板

upstream backend {
    server backend1.example.com       weight=5;  #執(zhí)行realserver,可以賦權(quán)重
    server backend2.example.com:8080; 
    server unix:/tmp/backend3;

    server backup1.example.com:8080   backup;  #backup表示該節(jié)點(diǎn)為熱備節(jié)點(diǎn),激活節(jié)點(diǎn)失效時(shí)啟用
    server backup2.example.com:8080   down;  #下線服務(wù)器,可以在real服務(wù)器需要維護(hù)時(shí)配置
}

server {
   listen	80;  #listen、server_name這些正常配置
   server_name	www.test.com;
    location / {
        proxy_pass http://backend;  ##反向代理執(zhí)行定義的upstream名字
    }
}

2、權(quán)重輪詢配置示例

upstream  show {
        server 192.168.0.141 weight=1;
        server 192.168.0.142 weight=2; 
     }

3、ip_hash配置示例

 upstream show {
        ip_hash;
        server 192.168.0.141 ;
        server 192.168.0.142 ;
     }

4、fair配置示例

 upstream show {
        fair;
        server 192.168.0.141 ;
        server 192.168.0.142 ;
     }

5、least_conn配置示例

 upstream show {
        least_conn;
        server 192.168.0.141 ;
        server 192.168.0.142 ;
     }

6、url_hash配置示例

 upstream show {
        server 192.168.0.141 ;
        server 192.168.0.142 ;
        hash $request_uri;
        hash_method crc32;
     }

四、負(fù)載均衡效果展示

1、部署2個(gè)web服務(wù)器

分別在s142主機(jī)和s142主機(jī)部署2個(gè)Tomcat服務(wù),服務(wù)訪問頁(yè)面內(nèi)容如下:

2、配置nginx服務(wù)

upstream show {
    ip_hash ;  #使用ip_hash負(fù)載均衡調(diào)度算法
    server 192.168.10.141:8080 ;
    server 192.168.10.142:8080 ;
    }
server {
    listen	80;  #listen、server_name這些正常配置
    server_name	www.test.com;
    access_log /var/log/nginx/test.access.log;
    location / {
        proxy_pass http://show;  ##反向代理執(zhí)行定義的upstream名字
    }
}

3、配置域名解析

這是模擬測(cè)試,使用測(cè)試域名,通過修改hosts文件(C:\Windows\System32\drivers\etc\hosts)實(shí)現(xiàn)直接通過域名訪問,實(shí)際應(yīng)用需要申請(qǐng)域名并解析。

4、訪問域名驗(yàn)證

5、停止s142的web服務(wù)后再次訪問

停止s142的web服務(wù)后應(yīng)用自動(dòng)切換到了s141節(jié)點(diǎn),其實(shí)upstream模塊可以作為負(fù)載均衡,更重要的是實(shí)現(xiàn)冗余,如果是單機(jī)部署的web應(yīng)用在出現(xiàn)節(jié)點(diǎn)故障時(shí)服務(wù)即無(wú)法訪問,通過upstream可以實(shí)現(xiàn)多節(jié)點(diǎn)冗余。

6、修改調(diào)度算法為輪詢

總結(jié) 

到此這篇關(guān)于Nginx負(fù)載均衡之upstream模塊簡(jiǎn)介與使用的文章就介紹到這了,更多相關(guān)Nginx負(fù)載均衡upstream模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于nginx access日志格式詳解

    基于nginx access日志格式詳解

    下面小編就為大家分享一篇基于nginx access日志格式詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-03-03
  • 詳解Nginx 13: Permission denied 解決方案

    詳解Nginx 13: Permission denied 解決方案

    這篇文章主要介紹了詳解Nginx 13: Permission denied 解決方案,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-07-07
  • 將樹莓派轉(zhuǎn)身為強(qiáng)大的Web服務(wù)器如何使用Nginx和cpolar實(shí)現(xiàn)遠(yuǎn)程訪問

    將樹莓派轉(zhuǎn)身為強(qiáng)大的Web服務(wù)器如何使用Nginx和cpolar實(shí)現(xiàn)遠(yuǎn)程訪問

    這篇文章主要介紹了Nginx可視化管理工具結(jié)合cpolar實(shí)現(xiàn)遠(yuǎn)程訪問內(nèi)網(wǎng)服務(wù),相比其他 Web 服務(wù)器,Nginx 的內(nèi)存占用率非常低,可以在樹莓派等資源受限的設(shè)備上運(yùn)行,同時(shí)結(jié)合cpolar 內(nèi)網(wǎng)穿透工具即可實(shí)現(xiàn)遠(yuǎn)程訪問,需要的朋友可以參考下
    2023-09-09
  • nginx配置proxy_pass后返回404問題以及Nginx host相關(guān)變量的說明

    nginx配置proxy_pass后返回404問題以及Nginx host相關(guān)變量的說明

    這篇文章主要介紹了nginx配置proxy_pass后返回404問題以及Nginx host相關(guān)變量的說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • nginx 某些url只能由特定網(wǎng)段訪問

    nginx 某些url只能由特定網(wǎng)段訪問

    在一些場(chǎng)景中,我們需要根據(jù)客戶端的IP地址或網(wǎng)段對(duì)訪問進(jìn)行控制,在Nginx中針對(duì)某些URL只允許特定網(wǎng)段訪問,本文就來(lái)介紹一下如何實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • 詳解Nginx如何配置繼承模型

    詳解Nginx如何配置繼承模型

    這篇文章主要介紹了詳解Nginx如何配置繼承模型,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-07-07
  • Nginx和Apache幾種防盜鏈配置方法實(shí)例

    Nginx和Apache幾種防盜鏈配置方法實(shí)例

    這篇文章主要介紹了Nginx和Apache幾種防盜鏈配置方法實(shí)例,本文使用判斷來(lái)路的方法實(shí)現(xiàn)防盜鏈,分別給出Nginx和Apache配置實(shí)例,需要的朋友可以參考下
    2015-02-02
  • Nginx Proxy 代理測(cè)試的實(shí)現(xiàn)

    Nginx Proxy 代理測(cè)試的實(shí)現(xiàn)

    本文主要介紹了Nginx Proxy 代理測(cè)試的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • 基于nginx的靜態(tài)網(wǎng)頁(yè)部署的實(shí)現(xiàn)

    基于nginx的靜態(tài)網(wǎng)頁(yè)部署的實(shí)現(xiàn)

    這篇文章主要介紹了基于nginx的靜態(tài)網(wǎng)頁(yè)部署的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-06-06
  • Nginx 實(shí)現(xiàn)灰度發(fā)布的三種方法總結(jié)

    Nginx 實(shí)現(xiàn)灰度發(fā)布的三種方法總結(jié)

    這篇文章主要介紹了Nginx 實(shí)現(xiàn)灰度發(fā)布的三種方法總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-05-05

最新評(píng)論

九龙城区| 永丰县| 湟源县| 襄樊市| 新巴尔虎右旗| 南阳市| 元江| 内乡县| 南溪县| 延边| 南康市| 元氏县| 湘乡市| 桃园市| 伊宁市| 庄河市| 新河县| 武安市| 桦甸市| 辽宁省| 松原市| 台东市| 沧源| 哈巴河县| 中西区| 吴川市| 登封市| 连城县| 徐汇区| 历史| 大庆市| 朝阳市| 扎鲁特旗| 凤台县| 甘谷县| 汉源县| 石首市| 通河县| 临夏县| 邵阳市| 长丰县|