प्रत्येक ब्राउज़र में राउंड-रॉबिन डीएनएस को संभालने का अपना तरीका है, मैंने इस समस्या पर शोध करने में आज कुछ समय बिताया है और अपने उत्तर को अपडेट करना जारी रखूंगा क्योंकि मुझे कार्यान्वयन का प्रमाण मिलेगा जो मेरे उत्तर को उन ब्राउज़रों तक सीमित कर देगा जो उनके व्यवहार को उजागर करते हैं।
गूगल क्रोम
Google Chrome (v58 का उपयोग किया गया) एक पते (ए, AAAA, CNAME) के लिए सभी होस्ट प्रविष्टियों का अनुरोध करेगा और उन्हें एक सरणी ( address_list ) में डाल देगा । क्रोम तब पहली से आखिरी तक प्रत्येक आईपी पते पर सॉकेट खोलने का प्रयास करेगा, क्रोम सबसे तेज या निकटतम आईपी का प्रयास नहीं करेगा, यह पहले आईपी को मानता है (आपके अपस्ट्रीम डीएनएस रिसॉल्वर द्वारा दिया गया) सबसे अच्छा आईपी है। मेरे परीक्षणों में बाइंड और विन्डोज़ डीएनएस सर्वर प्रत्येक लुकअप में 50/50 के बंटवारे जैसा लगता है, यह देखते हुए आईपी के प्रति एक अलग क्रम देते हैं। इस कार्यक्षमता में उजागर किया गया हैchrome://net-internals/#events&q=type:SOCKET%20is:active
कर्ल (libcurl / 7.54.0)
कर्ल में यह फेल-ओवर फ़ंक्शन भी है लेकिन --connect-timeout
क्रोम में डिफ़ॉल्ट की तुलना में अधिक लंबा है, क्रोम तुरंत खत्म हो जाता है, कर्ल नहीं करता है। यदि आप libcurl का उपयोग करते हैं और एक राउंड-रॉबिन डीएनएस उदाहरण बचाना चाहते हैं, जहां एक आईपी विफल हो जाता है, (क्रोम में काम करता है, लेकिन कोड में नहीं) इस मूल्य को कम निर्दिष्ट करना सुनिश्चित करें।
DEFAULT_CONNECT_TIMEOUT: 0 मुझे लगता है कि यह कर्ल के साथ संभव नहीं था।
* After 149990ms connect time, move on!
दोनों ब्राउज़रों पर , आईपी चिपचिपा नहीं था , उन्होंने डीएनएस में दिए गए टीटीएल का पालन किया और एक बार जब टीटीएल समाप्त हो गया (क्रोम इसे आंतरिक रूप से बनाए रखता है, तो कर्ल प्रत्येक अनुरोध पर पूछता है), आईपी चयन प्रत्येक बार ऊपर वर्णित के अनुसार किया जाता है।
इसका क्या मतलब है? DNS-RR कुछ सिस्टम के लिए ठीक है, लेकिन यह फेलओवर के लिए नहीं बनाया गया है। आपको उम्मीद करनी चाहिए कि डीएनएस लुकिंग के सभी परिणाम (सत्य का एक स्रोत) वैध और यातायात की सेवा के लिए उपलब्ध हैं। वहाँ आईपी उपलब्धता सुनिश्चित करने के कई तरीके हैं, इस तरह के आभासी नाव आईपी, BGP / रूटिंग चाल, आदि के रूप हैं उन्हें का प्रयोग करें ।
IPv4 केवल पर्यावरण में किए गए सभी परीक्षण, दोहरी-स्टैक परिणामों के साथ वापस आएंगे जब एक बार पर्याप्त बुनियादी ढांचा परीक्षण के लिए उपलब्ध होगा।
मैं अनुमान लगाता हूं कि ये बदलाव IPv6-Fallback RFC हैप्पी आईबॉल के साइड-इफेक्ट हैं
अद्यतन
एक उपयोगी विचार, आरआर डीएनएस केवल लोड बैलेंसिंग के साथ सहायता कर सकता है, न कि एप्लिकेशन विफलताओं के लिए, यदि आपके किसी नोड में 503 है तो आपका ट्रैफ़िक 503 होने पर आप 40-60% की सेवा करेंगे। यह धारणा बनाई गई है कि सूचीबद्ध सभी IP यदि पहुँच योग्य हैं, तो वे कार्यशील समापन बिंदु हैं