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

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

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

一、常見的三種調(diào)度算法

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

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

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

配置方式

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

1、upstream模塊應(yīng)放于nginx.conf配置的http{}標(biāo)簽內(nèi)
2、upstream模塊默認(rèn)算法是wrr (權(quán)重輪詢 weighted round-robin)

分配算法

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

1、輪詢

輪詢是upstream的默認(rèn)分配方式,即每個(gè)請求按照時(shí)間順序輪流分配到不同的后端服務(wù)器,如果某個(gè)后端服務(wù)器down掉后,能自動(dòng)剔除。

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

2、weight(權(quán)重比)

輪詢的加強(qiáng)版,即可以指定輪詢比率,weight和訪問幾率成正比,主要應(yīng)用于后端服務(wù)器異質(zhì)的場景下。

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

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

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

注意:
1、當(dāng)負(fù)載調(diào)度算法為ip_hash時(shí),后端服務(wù)器在負(fù)載均衡調(diào)度中的狀態(tài)不能是weight和backup。
2、導(dǎo)致負(fù)載不均衡。

4、fair

fair顧名思義,公平地按照后端服務(wù)器的響應(yīng)時(shí)間(rt)來分配請求,響應(yīng)時(shí)間短即rt小的后端服務(wù)器優(yōu)先分配請求。如果需要使用這種調(diào)度算法,必須下載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結(jié)果來分配請求,使得每個(gè)url定向到同一個(gè)后端服務(wù)器,主要應(yīng)用于后端服務(wù)器為緩存時(shí)的場景下。

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算法,需要注意的是:此時(shí),server語句中不能加weight等參數(shù)。

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

二、設(shè)備狀態(tài)

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

參數(shù)說明:

server:關(guān)鍵字,必選。

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

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

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

舉例說明如下:

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

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

相關(guān)文章

  • 在Nginx服務(wù)器中使用LibreSSL的教程

    在Nginx服務(wù)器中使用LibreSSL的教程

    這篇文章主要介紹了在Nginx服務(wù)器中使用LibreSSL的教程,LibreSSL是SSL的一個(gè)人氣軟件庫,需要的朋友可以參考下
    2015-06-06
  • Nginx的核心功能--正向代理、反向代理、緩存和Rewrite

    Nginx的核心功能--正向代理、反向代理、緩存和Rewrite

    Nginx作為一款高性能的開源Web服務(wù)器和反向代理工具,在負(fù)載均衡、緩存加速、安全防護(hù)等場景中扮演著關(guān)鍵角色,本文聚焦Nginx的四大核心功能--反向代理(七層/四層)、正向代理、緩存機(jī)制和正則表達(dá)式匹配,通過理論解析與場景化案例,深入掌握其設(shè)計(jì)思想與實(shí)踐技巧
    2025-05-05
  • Nginx更改conf配置文件的代碼詳解

    Nginx更改conf配置文件的代碼詳解

    本文主要介紹了Nginx如何更改conf配置文件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起來學(xué)習(xí)吧
    2024-02-02
  • Centos7安裝、卸載nginx及配置,配置成系統(tǒng)服務(wù)方式(一步到位)

    Centos7安裝、卸載nginx及配置,配置成系統(tǒng)服務(wù)方式(一步到位)

    這篇文章主要介紹了Centos7安裝、卸載nginx及配置,配置成系統(tǒng)服務(wù)方式(一步到位),具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Nginx Linux安裝部署詳細(xì)教程

    Nginx Linux安裝部署詳細(xì)教程

    這篇文章主要介紹了Nginx Linux安裝部署詳細(xì)教程,本文通過圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Nginx基于漏桶算法配置限流詳解

    Nginx基于漏桶算法配置限流詳解

    這篇文章主要為大家介紹了Nginx基于漏桶算法配置限流詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Nginx中IF、AND、OR語句用法實(shí)例

    Nginx中IF、AND、OR語句用法實(shí)例

    這篇文章主要介紹了Nginx中IF、AND、OR語句用法實(shí)例,本文講解的是Ningx中的邏輯判斷語句用法,需要的朋友可以參考下
    2015-02-02
  • Nginx服務(wù)器添加Systemd自定義服務(wù)過程解析

    Nginx服務(wù)器添加Systemd自定義服務(wù)過程解析

    這篇文章主要介紹了Nginx服務(wù)器添加Systemd自定義服務(wù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Nginx防止直接用IP訪問Web服務(wù)器的設(shè)置方法

    Nginx防止直接用IP訪問Web服務(wù)器的設(shè)置方法

    看了很多Nginx的配置,好像都忽略了ip直接訪問Web的問題,這樣理論上不利于SEO優(yōu)化,所以我們希望可以避免直接用IP訪問網(wǎng)站,而是域名訪問,具體怎么做呢,看下面
    2012-09-09
  • Nginx、Apache、Lighttpd禁止目錄執(zhí)行php配置示例

    Nginx、Apache、Lighttpd禁止目錄執(zhí)行php配置示例

    這篇文章主要介紹了Nginx、Apache、Lighttpd禁止目錄執(zhí)行php配置示例,本文給出了單個(gè)目錄、多個(gè)目錄的禁止執(zhí)行PHP的方法,需要的朋友可以參考下
    2014-09-09

最新評論

托克托县| 登封市| 沽源县| 五家渠市| 会同县| 通州市| 平昌县| 庄河市| 湾仔区| 昌吉市| 荣昌县| 昆明市| 丹江口市| 镇远县| 林周县| 如皋市| 伊金霍洛旗| 贡觉县| 车致| 于都县| 巴楚县| 行唐县| 宁乡县| 昭通市| 金平| 平果县| 奉化市| 曲靖市| 新营市| 鸡西市| 万州区| 海口市| 曲靖市| 舟山市| 铁岭县| 定远县| 汉源县| 无锡市| 庆安县| 阿巴嘎旗| 奉节县|