由一個nginx反向代理兩個 相同的後端服務—實現方式
阿新 • • 發佈:2022-03-03
1.nginx配置:在upstream下新增後端服務的IP、埠、權重、失敗次數以及失敗時間
server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=3s;
server 192.168.1.236:8080 weight=1 max_fails=2 fail_timeout=3s;
2.將每個模組之間呼叫的host埠改為8080
目前測試的結論:
tomcat1和tomcat2同時執行,假如現在前端請求的資料到了tomcat1
- 把tomcat1停掉,請求的話資料會到了tomcat2
- 把tomcat1再啟動,啟動過程中請求資料會無響應。啟動完成後,請求的資料還是會到tomcat2
關於上面請求資料無響應,找到原因為nginx配置的超時時間為100秒,將時間改為2秒:
會報504,說明這個服務在啟動中就會被輪詢到,但是出錯並沒有將請求轉發到另一個服務上,或者是轉發了但是還有其他未知的問題。。。
Nginx重試機制:https://blog.csdn.net/zhuchunyan_aijia/article/details/113355058
https://blog.csdn.net/flyfeifei66/article/details/82686002