Extendiendo la respuesta de chrskly, es posible que desee configurar 3 banderas / configuraciones.
- fail_timeout : Tiempo total por intentos fallidos y también marca el servidor como ABAJO por ese mismo tiempo. Si es 5 segundos, entonces intentará intentos de max_fail en 5 segundos y si aún falla, marque ese servidor como ABAJO durante 5 segundos.
- max_fail : número máximo de intentos
- proxy_connect_timeout : la cantidad de tiempo para esperar una conexión.
En el siguiente ejemplo de GRPC, si el servidor principal no se puede conectar en 7 segundos, cambie a copia de seguridad y marque el servidor principal como inactivo durante 6000 s:
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
}