Розширюючи відповідь chrskly, можливо, ви захочете налаштувати 3 прапора / конфігурації.
- fail_timeout : Загальний час після невдалих спроб, а також позначте сервер як DOWN за той самий час. Якщо 5 секунд, то спробує max_fail спроби через 5 секунд, а якщо все-таки не вдалося , позначте цей сервер як ДОЛУ протягом 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
}