1. 程式人生 > 實用技巧 >proxy_next_upstream帶來的坑和載入sticky模組

proxy_next_upstream帶來的坑和載入sticky模組

1.若nginx配置的響應等待時間(proxy_read_timeout)為30秒,就會觸發超時重試,將請求又打到另一臺。如果處理中沒有考慮到重複資料的場景,就會發生資料多次重複插入!

proxy_next_upstreamerror|timeout|invalid_header|http_500|http_502|http_503|http_504|http_403|http_404|off...;

proxy_next_upstreamerrortimeoutinvalid_headerhttp_500http_503http_404;

如果192.168.0.1這臺伺服器返回了超時或者500,那麼訪問 /example/ 時應該會自動重試到下一臺伺服器去

,即到192.168.0.2去。

proxy_next_upstream error timeout http_500 non_idemponent;
proxy_connect_timeout 30s;
proxy_read_timeout 30s;
proxy_send_timeout 30s;

預設情況下,當請求伺服器發生錯誤或超時時,會嘗試到下一臺伺服器。 參考:https://blog.csdn.net/bujidexinq/article/details/80406149

2.proxy_next_upstream error timeout http_500 non_idemponent;

像 post, lock, patch 這種會對伺服器造成不冪等的方法,預設是不進行重試的,如果一定要進行重試,則要加上這個配置。

https://zhuanlan.zhihu.com/p/35803906

3.Nginx安裝Sticky模組

https://www.cnblogs.com/powerwu/articles/12619260.html