欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx負載均衡之upstream模塊簡介與使用詳解

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

一、upstream模塊簡介

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

二、負載均衡算法簡介

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

1、輪詢

rr 輪循即round robin 默認調(diào)度算法,靜態(tài)調(diào)度算法??蛻舳苏埱箜樞虬芽蛻舳说恼埱笾鹨环峙涞讲煌暮蠖斯?jié)點服務器,這相當于 LVS 中的 rr 算法,如果后端節(jié)點服務器宕機(默認情況下nginx 只檢測80端口)。宕機的服務器會自動從節(jié)點服務器池中剔除,以便客戶端的用戶訪問不受影響。新的請求會分配給正產(chǎn)的服務器。

2、權重輪詢

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

3、IP哈希

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

4、最小連接數(shù)

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

5、最短響應時間

最短響應時間(fair)調(diào)度算法是動態(tài)調(diào)度算法,會根據(jù)后端節(jié)點服務器的響應時間來分配請求,響應時間端的優(yōu)先分配。這是更加智能的調(diào)度算法。此種算法可以依據(jù)頁面大小和加載時間長短只能地進行負載均衡,也就是根據(jù)后端服務器的響應時間來分配請求,響應時間短的優(yōu)先分配。Nginx 本身是不支持 fair 調(diào)度算法的,如果需要使用這種調(diào)度算法,必須下載 Nginx 的相關模塊 upstream_fair。

6、url_hash算法

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

三、配置示例

1、配置示例模板

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

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

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

2、權重輪詢配置示例

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;
     }

四、負載均衡效果展示

1、部署2個web服務器

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

2、配置nginx服務

upstream show {
    ip_hash ;  #使用ip_hash負載均衡調(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、配置域名解析

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

4、訪問域名驗證

5、停止s142的web服務后再次訪問

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

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

總結 

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

相關文章

  • Nginx限制帶寬配置示例

    Nginx限制帶寬配置示例

    這篇文章主要介紹了Nginx限制帶寬配置示例,本文網(wǎng)羅了3個方法,希望可以幫到大家,需要的朋友可以參考下
    2014-09-09
  • 圖文詳解Nginx多種匹配方式

    圖文詳解Nginx多種匹配方式

    nginx作為一款高性能的服務器,用途很多,下面這篇文章主要給大家介紹了Nginx多種匹配方式的相關資料,文中通過圖文介紹的介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • 如何在centos上使用yum安裝rabbitmq-server

    如何在centos上使用yum安裝rabbitmq-server

    這篇文章主要介紹了如何在centos上使用yum安裝rabbitmq-server,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • 解析阿里云centos7服務器nginx配置及常見問題解答

    解析阿里云centos7服務器nginx配置及常見問題解答

    這篇文章主要介紹了阿里云centos7服務器nginx配置及常見問題解答,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Nginx 配置過程的具體步驟

    Nginx 配置過程的具體步驟

    這篇文章主要介紹了Nginx 配置過程的詳細介紹的相關資料,希望通過本文能幫助到大家,讓大家掌握如何配置Nginx,需要的朋友可以參考下
    2017-10-10
  • nginx禁止訪問.git文件的設置教程

    nginx禁止訪問.git文件的設置教程

    這篇文章主要介紹了nginx禁止訪問.git文件的設置教程,.git文件會包含一份文件列表,如果你的網(wǎng)站是基于git協(xié)作開發(fā)的,則必須要注意這個問題,需要的朋友可以參考下
    2014-08-08
  • nginx輸出日志配置與查看的實現(xiàn)

    nginx輸出日志配置與查看的實現(xiàn)

    日志記錄是非常重要的一部分,本文主要介紹了nginx輸出日志配置與查看的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-05-05
  • nginx配置域名轉(zhuǎn)發(fā)到其他域名的幾種方法小結

    nginx配置域名轉(zhuǎn)發(fā)到其他域名的幾種方法小結

    本文主要介紹了nginx配置域名轉(zhuǎn)發(fā)到其他域名的幾種方法小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • Nginx配置http和https的實現(xiàn)步驟

    Nginx配置http和https的實現(xiàn)步驟

    Nginx是使用最多的代理服務器之一,本文主要介紹了Nginx配置http和https的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Nginx之帶寬限制的實現(xiàn)示例

    Nginx之帶寬限制的實現(xiàn)示例

    本文主要介紹了Nginx之帶寬限制的實現(xiàn)示例,一般使用limit_rate指令來限制響應傳輸?shù)娇蛻舳说乃俾?具有一定的參考價值,感興趣的可以了解一下
    2023-09-09

最新評論