การขยายคำตอบของ chrskly คุณอาจต้องการกำหนดค่า 3 ค่า / การตั้งค่า
- fail_timeout : เวลาทั้งหมดจากความพยายามที่ล้มเหลวและทำเครื่องหมายเซิร์ฟเวอร์เป็น DOWN ในเวลาเดียวกัน หาก 5 วินาทีจากนั้นจะลองmax_failใน 5 วินาทีและหากยังคงล้มเหลวให้ทำเครื่องหมายเซิร์ฟเวอร์นั้นเป็น DOWN เป็นเวลา 5 วินาที
- max_fail : จำนวนครั้งสูงสุด
- proxy_connect_timeout : ระยะเวลารอการเชื่อมต่อ
ในตัวอย่าง GRPC ต่อไปนี้หากเซิร์ฟเวอร์หลักไม่สามารถเชื่อมต่อได้ใน 7 วินาทีให้เปลี่ยนเป็นการสำรองและทำเครื่องหมายเซิร์ฟเวอร์หลักเป็น 6000 วินาที:
upstream grpcservers {
server 192.168.0.XX:9997 fail_timeout=6000s max_fails=1; # After 1 fail in 6000s, Main server is marked unavailable for 6000s.
server 192.168.0.XX:9999 backup;
}
location / {
grpc_pass grpc://grpcservers;
grpc_connect_timeout 7s; # If conn cant be made in 7sec, switch to backup
}