Google / फेसबुक / आदि जैसी साइटें कैसे आती हैं। डीडीओएस नहीं मिलेगा भले ही वे इतने सारे अनुरोध प्राप्त करें?


14

कुछ मुझे समझ में नहीं आता:

(दसियों / सैकड़ों?) हजारों लोग एक साथ facebook.com या google.com जैसी साइट से जुड़ने की कोशिश करते हैं।

जो मैं समझता हूं, वे सभी आवश्यक रूप से एक ही प्रारंभिक सर्वर से कनेक्ट होने चाहिए (क्योंकि DNS उनमें से कई को एक ही आईपी लौटाएगा, और इसलिए सभी अनुरोध एक ही लक्ष्य गंतव्य पर जाते हैं)।

इसलिए एकल मशीन / राउटर को सभी प्रारंभिक अनुरोधों को संभालना चाहिए, भले ही यह उन्हें अन्य मशीनों को अग्रेषित करने की योजना बना रहा हो।

कैसे होता है कि ऐसा होने पर एकल डिवाइस अतिभारित नहीं होता है?


8
DNS के बारे में आपकी धारणा गलत है: en.wikipedia.org/wiki/Round-robin_DNS
Der Hochstapler

@ ऑलिवरसालबर्ग: लिंक के लिए धन्यवाद, यह मददगार है।
user541686

जवाबों:


20

आपकी समझ कि वे सभी एक ही सर्वर से जुड़ते हैं, गलत है, हालांकि आप उन परिणामों को कैसे प्राप्त करते हैं, इसका विवरण जटिल है। http://highscalability.com/ में स्केलेबिलिटी के कुछ समाधानों को खेलने के तरीके पर संदर्भ कार्य है।

उनके पास केवल "एक" सर्वर से अधिक अच्छी तरह से है जो क्लाइंट से कनेक्ट होता है, भले ही सार्वजनिक आईपी पता समान दिखता हो। उदाहरण के लिए, Google प्रत्यक्ष लोगों को संबोधित किए जाने वाले किसी भी प्रसारण का भारी उपयोग करता है, और आमतौर पर उनके पास प्रत्येक ग्राहक के लिए एक आईपी पता नहीं होता है - भले ही वे आपके पूछने पर सिर्फ एक ही पता लौटाते हों।


+1 त्रुटि को इंगित करने के लिए धन्यवाद। मैं मदद नहीं कर सकता, लेकिन आश्चर्य की बात है: अगर बाद में अनुरोध हर बार एक अलग सर्वर पर जाते हैं, तो एक सर्वर एक अलग सर्वर के सत्र को कैसे जारी रखता है? या प्रति-मशीन / प्रति-सत्र आधार पर यादृच्छिकता है? (मुझे लगता है कि वे सभी बैकएंड पर सिंक्रनाइज़ करते हैं, लेकिन यह हजारों सर्वरों को एक साथ लाखों उपयोगकर्ताओं के बारे में जानकारी रखने के लिए बहुत धीमा प्रतीत होता है।)
user541686

1
उत्तर जटिल है, और कार्यान्वयन पर निर्भर करता है, लेकिन एक दृष्टिकोण मशीनों का एक पूल है जो कुछ भी नहीं करता है लेकिन पैकेट को कभी भी सही तरीके से टीसीपी कनेक्शन बनाए बिना सही गंतव्य पर भेजता है। एफ 5, और अन्य लोड बैलेंसर विक्रेताओं को देखें, कैसे के छोटे अंत के लिए। Google, मुझे लगता है, कुछ का उपयोग वे खुद बनाया।
डैनियल पिटमैन

आप एक विभाजन-सत्र पद्धति का उपयोग भी कर सकते हैं। उपयोगकर्ता और सर्वर के बीच एक सत्र है जो वे सीधे जुड़े हुए हैं, और उपयोगकर्ता और तार्किक सेवा के बीच एक "मास्टर तार्किक सत्र" है। यदि उपयोगकर्ता किसी भिन्न सर्वर पर जाता है, तो वह सर्वर उसी मास्टर तार्किक सत्र को तार्किक सेवा में फिर से शुरू करता है।
डेविड स्चवार्ट्ज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.