nginx集羣請求多次提交問題處理

ngx_http_proxy_module 模塊中 proxy_next_upstream 指令

語法:

proxy_next_upstream error | timeout | invalid_header | http_500 | http_502 | http_503 | http_504 |http_404 | off ...;

默認值: proxy_next_upstream error timeout;

上下文: http, server, location


參數解析:

  • error  # 和後端服務器建立連接時,或者向後端服務器發送請求時,或者從後端服務器接收響應頭時,出現錯誤

  • timeout # 和後端服務器建立連接時,或者向後端服務器發送請求時,或者從後端服務器接收響應頭時,出現超時

  • invalid_header # 後端服務器返回空響應或者非法響應頭

  • http_500 # 後端服務器返回的響應狀態碼爲500

  • http_502 # 後端服務器返回的響應狀態碼爲502

  • http_503 # 後端服務器返回的響應狀態碼爲503

  • http_504 # 後端服務器返回的響應狀態碼爲504

  • http_404 # 後端服務器返回的響應狀態碼爲404

  • off # 停止將請求發送給下一臺後端服務器


應用場景:

1、提高訪問成功率:
配置:
proxy_next_upstream http_500 | http_502 | http_503 | http_504 |http_404;
說明:當其中一臺upstream返回錯誤碼404,500...等錯誤時,將請求分配到下一臺服務器程序繼續處理,提高平臺訪問成功率,多可運用於前臺程序負載;

2、同一請求多臺服務器重複處理

因爲 proxy_next_upstream 的默認值: proxy_next_upstream error timeout;

場景:當訪問A時,A返回error timeout時,訪問會繼續分配到下一臺服務器處理,就等於一個請求分發到多臺服務器,就可能出現多次處理的情況,如果涉及到充值,就有可能充值多次的情況,這種情況下就要把proxy_next_upstream關掉。
proxy_next_upstream off;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章