NGINX心跳檢測
upstream springboot { server 10.3.73.223:8080 max_fails=2 fail_timeout=30s; server 10.3.73.223:8090 max_fails=2 fail_timeout=30s; } server { listen 80; server_name localhost; location /test { proxy_pass http://springboot; } }
在30s內(fail_timeout,默認值為10s),NGINX與中間件通訊失敗2次(max_fails,默認值為1,設置為0則認為服務端一直可用),則認為中間件不可用
不可用中間件在30s內與NGINX通訊成功2次,則認為中間件恢復。
當upstream中的一台中間件響應失敗時, Nginx會將請求轉發給下一台中間件,直到所有的中間件都發送過該請求,如果此時依然無法獲得成功的響應,客戶端將收到最后一台中間件返回的響應結果。