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

nginx的反向代理upstream失敗重試策略詳解

 更新時(shí)間:2025年09月13日 11:23:21   作者:IT雜人  
文章解析Nginx健康檢測(cè)參數(shù)fail_timeout(標(biāo)記不可用)與max_fails(失敗閾值),并說(shuō)明重試機(jī)制中proxy_next_upstream的配置作用,強(qiáng)調(diào)非冪等請(qǐng)求需配合non_idempotent選項(xiàng),合理設(shè)置可避免性能損耗

默認(rèn)只有被動(dòng)健康檢測(cè)

upstream nginxtest{
		#默認(rèn)使用輪詢節(jié)點(diǎn)分配請(qǐng)求
		#max_fails默認(rèn)=1,fail_timeout默認(rèn)=10s;
		server localhost:8080 weight=5 max_fails=2 fail_timeout=5s;
		server localhost:8082 weight=1 max_fails=2 fail_timeout=5s;
}
	
server {
        listen       18080;
        server_name  localhost;
		
        location / {
			proxy_pass http://nginxtest;
			#proxy_next_upstream  http_500;#默認(rèn)是error、timeout、幕等請(qǐng)求會(huì)重試
            root   html;
            index  index.html index.htm;
        }
}
  • fail_timeout:時(shí)間段內(nèi)計(jì)數(shù)失敗次數(shù)
  • max_fails:需要fail_timeout時(shí)間段統(tǒng)計(jì)的失敗次數(shù)

兩個(gè)參數(shù)說(shuō)明:在5秒時(shí)間段時(shí),處理請(qǐng)求失敗2次,則標(biāo)記為不可用狀態(tài)

重要的一點(diǎn)說(shuō)明:fail_timeout還有一個(gè)作用,標(biāo)記為不可用狀態(tài)的節(jié)點(diǎn),在等待5秒后,會(huì)被嘗試分配一個(gè)請(qǐng)求過(guò)來(lái)以便檢測(cè)是否恢復(fù)可用狀態(tài)!!!

默認(rèn)重試機(jī)制

當(dāng)我們關(guān)閉一個(gè)節(jié)點(diǎn)時(shí),發(fā)現(xiàn)nginx還是正常處理了請(qǐng)求,只是某一次請(qǐng)求等待時(shí)間變長(zhǎng)了

以下為jmeter一秒一次請(qǐng)求,斷開一個(gè)節(jié)點(diǎn)后,發(fā)現(xiàn)請(qǐng)求正常,但某一次明顯等待長(zhǎng)才返回成功

斷開節(jié)點(diǎn)后,會(huì)是網(wǎng)絡(luò)錯(cuò)誤,所以會(huì)重試其他節(jié)點(diǎn)處理;

重試策略配置

 location / {
    proxy_pass http://nginxtest;
	proxy_next_upstream error timeout http_404; #off表示不重試
	proxy_next_upstream_timeout 6s;
	proxy_next_upstream_tries 3;
}
  • proxy_next_upstream :指定哪些狀態(tài)需要重試,默認(rèn)開啟(off顯示關(guān)閉),但404/500/post等請(qǐng)求不會(huì)重試,除非顯示指定;
  • proxy_next_upstream_timeout :重試轉(zhuǎn)發(fā)超時(shí)時(shí)間
  • proxy_next_upstream_tries:重試次數(shù)

非等冪方法(POST、LOCK、PATCH),請(qǐng)求失敗后不會(huì)再到其他服務(wù)器進(jìn)行重試。加上non_idempotent選項(xiàng)后,即使是非冪等請(qǐng)求類型(例如POST請(qǐng)求),發(fā)生錯(cuò)誤后也會(huì)重試。 

不合理的重試策略,會(huì)減弱nginx的處理能力

另:代理超時(shí)配置

location / {
	proxy_connect_timeout 20s;
	proxy_read_timeout 20s;
	proxy_send_timeout 20s;
}
  • proxy_connect_timeout :代理連接超時(shí)
  • proxy_read_timeout:代理超時(shí)
  • proxy_send_timeout :對(duì)應(yīng)的代理超時(shí)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解nginx如何配置HTTPS

    詳解nginx如何配置HTTPS

    本篇文章主要介紹了詳解nginx如何配置HTTPS,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • 使用nginx正向代理實(shí)現(xiàn)訪問(wèn)外網(wǎng)

    使用nginx正向代理實(shí)現(xiàn)訪問(wèn)外網(wǎng)

    這篇文章主要介紹了使用nginx正向代理實(shí)現(xiàn)讓內(nèi)網(wǎng)主機(jī)通過(guò)外網(wǎng)主機(jī)訪問(wèn)外網(wǎng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12
  • centos 7.0 使用Nginx部署flask應(yīng)用教程

    centos 7.0 使用Nginx部署flask應(yīng)用教程

    這篇文章主要介紹了centos 7.0 使用Nginx部署flask應(yīng)用教程,需要的朋友可以參考下
    2017-12-12
  • Nginx配置編寫時(shí)支持邏輯運(yùn)算與大小寫字母轉(zhuǎn)換的方法

    Nginx配置編寫時(shí)支持邏輯運(yùn)算與大小寫字母轉(zhuǎn)換的方法

    這篇文章主要介紹了Nginx配置編寫時(shí)支持邏輯運(yùn)算與大小寫字母轉(zhuǎn)換的方法,其中大小寫字母轉(zhuǎn)換是以lower upper case模塊來(lái)實(shí)現(xiàn),需要的朋友可以參考下
    2016-01-01
  • Nginx服務(wù)器下配置個(gè)性二級(jí)域名及多個(gè)域名的實(shí)例講解

    Nginx服務(wù)器下配置個(gè)性二級(jí)域名及多個(gè)域名的實(shí)例講解

    這篇文章主要介紹了Nginx服務(wù)器下配置個(gè)性二級(jí)域名及多個(gè)域名的實(shí)例講解,注意一下rewrite的寫法規(guī)則,需要的朋友可以參考下
    2016-01-01
  • Nginx如何配置Http、Https、WS、WSS的方法步驟

    Nginx如何配置Http、Https、WS、WSS的方法步驟

    這篇文章主要介紹了Nginx如何配置Http、Https、WS、WSS的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • nginx訪問(wèn)控制的兩種方法

    nginx訪問(wèn)控制的兩種方法

    這篇文章主要介紹了關(guān)于nginx訪問(wèn)控制的兩種方法,一種是基于Basic Auth認(rèn)證,另一種是基于IP的訪問(wèn)控制,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-03-03
  • Nginx與安全相關(guān)的幾個(gè)配置小結(jié)

    Nginx與安全相關(guān)的幾個(gè)配置小結(jié)

    Nginx提供了一系列的安全相關(guān)參數(shù),可以幫助加固網(wǎng)站安全性,本文主要介紹了Nginx與安全相關(guān)的幾個(gè)配置小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • 同一臺(tái)服務(wù)器安裝多個(gè)Nginx的方法總結(jié)

    同一臺(tái)服務(wù)器安裝多個(gè)Nginx的方法總結(jié)

    在同一臺(tái)服務(wù)器上安裝多個(gè)nginx完全沒(méi)有問(wèn)題,但有些地方是需要注意的,這篇文章為大家整理了一些常會(huì)遇到的問(wèn)題以及解決方法,需要的可以參考一下
    2023-08-08
  • Nginx 域名轉(zhuǎn)發(fā)的實(shí)現(xiàn)

    Nginx 域名轉(zhuǎn)發(fā)的實(shí)現(xiàn)

    這篇文章主要介紹了Nginx 域名轉(zhuǎn)發(fā)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08

最新評(píng)論