1. 程式人生 > 其它 >由一個nginx反向代理兩個 相同的後端服務—實現方式

由一個nginx反向代理兩個 相同的後端服務—實現方式

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