Chrskly के उत्तर का विस्तार करते हुए, आप 3 झंडे / कॉन्फिगर कॉन्फ़िगर करना चाह सकते हैं।
- fail_timeout : विफल प्रयासों द्वारा कुल समय और उसी समय के लिए DOWN के रूप में सर्वर को भी चिह्नित करें। यदि 5 सेकंड, तो 5 सेकंड में अधिकतम_फेल प्रयास करेगा और यदि अभी भी विफल रहता है, तो उस सर्वर को 5 सेकंड के लिए DOWN के रूप में चिह्नित करें।
- max_fail : अधिकतम संख्या में प्रयास
- प्रॉक्सी_कनेक्ट_ टाइमआउट : कनेक्शन की प्रतीक्षा करने के लिए समय की मात्रा।
निम्नलिखित जीआरपीसी उदाहरण में, यदि मुख्य सर्वर 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
}