亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

nginx中調度算法的五種實現(xiàn)

 更新時間:2025年03月18日 10:44:16   作者:會飛的愛迪生  
本文主要介紹了nginx中調度算法的五種實現(xiàn),包括輪詢、權重輪詢、IP哈希、fair和URL哈希,具有一定的參考價值,感興趣的可以了解一下

一、常見的三種調度算法

輪詢:nginx負載均衡默認策略,按時間順序一個接一個的調度,適用于連接狀態(tài)較短、且后端服務器配置一樣的情況下。

權重(weight):權重越高被訪問的頻率越高,適用于連接狀態(tài)較短、且后端服務器配置差別較大的情況下。

ip_hash:根據(jù)客戶端ip進程分配,保證同一個客戶端每次都能訪問到固定的服務器節(jié)點,適用于用戶長時間進行文件傳輸?shù)膱鼍?。ip_hash不能提供健康監(jiān)測功能

配置方式

NGINX配置負載均衡主要是在nginx.conf文件中里upstream模塊

1、upstream模塊應放于nginx.conf配置的http{}標簽內
2、upstream模塊默認算法是wrr (權重輪詢 weighted round-robin)

分配算法

Nginx的upstream支持5種分配方式,下面將會詳細介紹,其中前三種為Nginx原生支持的分配方式,后兩種為第三方支持的分配方式。

1、輪詢

輪詢是upstream的默認分配方式,即每個請求按照時間順序輪流分配到不同的后端服務器,如果某個后端服務器down掉后,能自動剔除。

upstream backend {
    server 192.168.1.101:8888;
    server 192.168.1.102:8888;
    server 192.168.1.103:8888;
}

2、weight(權重比)

輪詢的加強版,即可以指定輪詢比率,weight和訪問幾率成正比,主要應用于后端服務器異質的場景下。

upstream backend {
    server 192.168.1.101 weight=1;
    server 192.168.1.102 weight=2;
    server 192.168.1.103 weight=3;
}

3、ip_hash

每個請求按照訪問ip(即Nginx的前置服務器或者客戶端IP)的hash結果分配,這樣每個訪客會固定訪問一個后端服務器,可以解決session一致問題。

upstream backend {
    ip_hash;
    server 192.168.1.101:7777;
    server 192.168.1.102:8888;
    server 192.168.1.103:9999;
}

注意:
1、當負載調度算法為ip_hash時,后端服務器在負載均衡調度中的狀態(tài)不能是weight和backup。
2、導致負載不均衡。

4、fair

fair顧名思義,公平地按照后端服務器的響應時間(rt)來分配請求,響應時間短即rt小的后端服務器優(yōu)先分配請求。如果需要使用這種調度算法,必須下載Nginx的upstr_fair模塊。

upstream backend {
    server 192.168.1.101;
    server 192.168.1.102;
    server 192.168.1.103;
    fair;
}

5、url_hash,目前用consistent_hash替代url_hash

與ip_hash類似,但是按照訪問url的hash結果來分配請求,使得每個url定向到同一個后端服務器,主要應用于后端服務器為緩存時的場景下。

upstream backend {
    server 192.168.1.101;
    server 192.168.1.102;
    server 192.168.1.103;
    hash $request_uri;
    hash_method crc32;
}

其中,hash_method為使用的hash算法,需要注意的是:此時,server語句中不能加weight等參數(shù)。

提示:url_hash用途cache服務業(yè)務,memcached,squid,varnish。特點:每個rs都是不同的。

二、設備狀態(tài)

從上面實例不難看出upstream中server指令語法如下:server address [parameters]

參數(shù)說明:

server:關鍵字,必選。

address:主機名、域名、ip或unix socket,也可以指定端口號,必選。

parameters:可選參數(shù),可選參數(shù)如下:

1.down:表示當前server已停用
2.backup:表示當前server是備用服務器,只有其它非backup后端服務器都掛掉了或者很忙才會分配到請求。
3.weight:表示當前server負載權重,權重越大被請求幾率越大。默認是1.
4.max_fails和fail_timeout一般會關聯(lián)使用,如果某臺server在fail_timeout時間內出現(xiàn)了max_fails次連接失敗,那么Nginx會認為其已經掛掉了,從而在fail_timeout時間內不再去請求它,fail_timeout默認是10s,max_fails默認是1,即默認情況是只要發(fā)生錯誤就認為服務器掛掉了,如果將max_fails設置為0,則表示取消這項檢查。

舉例說明如下:

upstream backend {
    server    backend1.example.com weight=5;
    server    127.0.0.1:8080 max_fails=3 fail_timeout=30s;
    server    unix:/tmp/backend3;           
}

到此這篇關于nginx中調度算法的實現(xiàn)的文章就介紹到這了,更多相關nginx 調度算法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • nginx常用操作命令詳解

    nginx常用操作命令詳解

    這篇文章主要介紹了nginx常用操作命令,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • Nginx 請求壓縮的實現(xiàn)(動態(tài)壓縮,靜態(tài)壓縮)

    Nginx 請求壓縮的實現(xiàn)(動態(tài)壓縮,靜態(tài)壓縮)

    本文主要介紹了Nginx 請求壓縮的實現(xiàn)(動態(tài)壓縮,靜態(tài)壓縮),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • LNMP編譯安裝之nginx安裝配置方法圖文教程

    LNMP編譯安裝之nginx安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了LNMP編譯安裝之nginx安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 詳解nginx如何配置HTTPS

    詳解nginx如何配置HTTPS

    本篇文章主要介紹了詳解nginx如何配置HTTPS,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 安裝Windows版nginx及部署前端代碼并解決刷新出現(xiàn)404問題

    安裝Windows版nginx及部署前端代碼并解決刷新出現(xiàn)404問題

    這篇文章主要給大家介紹了關于安裝Windows版nginx及部署前端代碼解決刷新出現(xiàn)404問題的相關資料,使用nginx部署前端項目是一篇非常詳細的教程,旨在幫助初學者使用Nginx來部署前端項目,需要的朋友可以參考下
    2023-12-12
  • 通過Nginx的proxy_set_header設置請求頭無效的解決

    通過Nginx的proxy_set_header設置請求頭無效的解決

    這篇文章主要介紹了通過Nginx的proxy_set_header設置請求頭無效的解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • nginx配置支持https的示例代碼

    nginx配置支持https的示例代碼

    這篇文章主要介紹了nginx配置支持https的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • Nginx+Lua+Redis構建高并發(fā)Web應用

    Nginx+Lua+Redis構建高并發(fā)Web應用

    使用Nginx+Lua+Redis來構建高并發(fā)Web應用,Curl請求Nginx,Nginx通過Lua查詢Redis,返回json數(shù)據(jù)。
    2013-10-10
  • Nginx訪問限制配置詳解

    Nginx訪問限制配置詳解

    nginx訪問限制可以基于兩個方面,一個是基于ip的訪問控制,另一個是基于用戶的信任登陸控制,本文就詳細的介紹了這兩種方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • prometheus監(jiān)控nginx的兩種方式

    prometheus監(jiān)控nginx的兩種方式

    這篇文章主要介紹了兩種不同的Nginx監(jiān)控方法,第一種是nginx自帶的tub_status模塊進行監(jiān)控,第二種是用vts監(jiān)控工具進行監(jiān)控,都是基于prometheus、grafana結合第三方模塊或監(jiān)控工具搭建,文中通過圖文結合的方式介紹的非常詳細,需要的朋友可以參考下
    2024-05-05

最新評論