2012-06-18 28 views
8

मैं बैकएंड सर्वर के विफलता को प्रबंधित करने के लिए mod_proxy_balancer का उपयोग कर रहा हूं। बैकएंड सर्वर समय-समय पर एक त्रुटि कोड वापस कर सकते हैं जब कुछ अन्य बैकएंड सेवा एनएफएस जैसे विफल हो जाती हैं और हम चाहते हैं कि ऐसे सर्वर भी असफल नोड्स के रूप में चिह्नित हों। इसलिए हम failonstatus निर्देश का उपयोग कर रहे हैं।httpd mod_proxy_balancer failover failonstatus - पारदर्शी स्विचिंग

<Proxy balancer://avatar> 
    ProxySet failonstatus=503 
    BalancerMember http://active/ retry=30 
    # the hot standby 
    BalancerMember http://standby/ status=+H retry=0 
</Proxy> 

वर्तमान में फ़ेलओवर पूरी तरह से एक गड़बड़ी के साथ काम करता है। जब सक्रिय नोड विफल रहता है तो उपयोगकर्ता को 503 त्रुटि मिलती है और अगले अनुरोध से स्टैंडबाय सर्वर खत्म हो जाता है।

मैं भी एक अनुरोध को असफल होने की इच्छा नहीं चाहता हूं। क्लाइंट में कभी भी त्रुटि लौटने के साथ mod_proxy विफलता कैंट करें? यदि सक्रिय नोड विफल रहता है तो मैं mod_proxy को उसी अनुरोध के लिए स्टैंडबाय को आजमाने के लिए चाहता हूं, न केवल बाद के अनुरोध से!

उत्तर

3

मुझे लगता है कि आपने इसे अपाचे HTTPd मेलिंग सूची पर पूछा है लेकिन दुख की बात यह है कि संतोषजनक उत्तर नहीं मिला। मैंने सर्वरफॉल्ट में लगभग एक ही सवाल पूछा है, इसलिए मैं उन्हें एक साथ जोड़ रहा हूं।

https://serverfault.com/questions/414024/apache-httpd-workers-retry

+2

मैं httpd मेलिंग सूची पर एक देव से बात की है और उन्होंने पुष्टि की कि इस सुविधा वर्तमान कोड बेस में लागू नहीं किया गया पूछ रहे है । Mod_proxy_balancer के अंदर राज्य मशीन HTTP त्रुटि पर पुनः प्रयास नहीं कर सकती है लेकिन कनेक्शन त्रुटि के मामले में केवल ऐसा ही कर सकती है। मैंने इसे स्वयं लागू करने की कोशिश की लेकिन यह बहुत जटिल है और मैं आसानी से कोड बेस को अस्थिर बना सकता हूं। तो मैंने छोड़ दिया ... – Praveen