nginx http超時重試冪等問題

nginx做反向代理時,作爲負載均衡器,對執行失敗的任務默認會調度到其他節點執行。

默認設置:proxy_next_upstream error timeout #發生網絡錯誤以及超時,纔會在其他服務器重試

$ proxy_next_upstream error timeout http_500 #500時重試

$ proxy_next_upstream error timeout http_502 #502時重試

$ proxy_next_upstream error timeout http_503 #503時重試

需要特別注意的時,put,get類冪等方法重試是沒有問題的。對於post方法是非冪等請求,默認針對post方法是不會重試的。比如創建訂單請求,前端的超時,後端如果重試,可能會出現創建多個訂單情況。如果非要開啓post方法的重試(線上一般不會開啓),加上non_idempotent參數。

$  proxy_next_upstream error timeout http_500 non_idempotent;#500重試,包括post,lock,path方法
 

 

 

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