लोड बैलेंसर और रिवर्स प्रॉक्सी के बीच अंतर क्या है?


117

मैं लोड बैलेंसर और रिवर्स प्रॉक्सी के बीच अंतर के बारे में स्पष्ट नहीं हूं। वे दोनों एक ही व्यवहार कर रहे हैं: बैकएंड सर्वर के लिए आने वाले अनुरोधों को वितरित करना।


1
Nginx से अच्छी व्याख्या: nginx.com/resources/glossary/reverse-proxy-vs-load-balancer
शशांक

जवाबों:


113

आपका भ्रम उचित है - वे अक्सर एक ही बात हैं। लेकिन हमेशा नहीं। जब आप एक लोड बैलेंसर का उल्लेख करते हैं, तो आप एक बहुत विशिष्ट बात का उल्लेख कर रहे हैं - एक सर्वर या डिवाइस जो लोड को फैलाने के लिए दो या अधिक वेब सर्वरों में इनबाउंड अनुरोधों को संतुलित करता है। एक रिवर्स प्रॉक्सी, हालांकि, आमतौर पर किसी भी संख्या में विशेषताएं होती हैं:

  1. लोड संतुलन: जैसा कि ऊपर चर्चा की गई है

  2. कैशिंग: यह वेब सर्वर (एस) के पीछे से सामग्री को कैश कर सकता है और इस तरह वेब सर्वर (एस) पर लोड को कम कर सकता है और वेब सर्वर (एस) से डेटा प्राप्त किए बिना कुछ स्थिर सामग्री को वापस आवश्यककर्ता को वापस कर सकता है।

  3. सुरक्षा: यह इंटरनेट से सीधे पहुंच को रोककर वेब सर्वर (एस) की रक्षा कर सकता है; यह केवल वेब सर्वर (ओं) को बाधित करके सरल साधनों के माध्यम से ऐसा कर सकता है या इसमें कुछ और सक्रिय घटक हो सकते हैं जो वास्तव में दुर्भावनापूर्ण कोड की तलाश में इनबाउंड अनुरोधों की समीक्षा करते हैं।

  4. एसएसएल त्वरण: जब एसएसएल का उपयोग किया जाता है; यह उन एसएसएल सत्रों के लिए एक समाप्ति बिंदु के रूप में कार्य कर सकता है ताकि एन्क्रिप्शन से निपटने का कार्यभार वेब सर्वर से लोड हो जाए ()

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


2
+ कनेक्शन पूलिंग (बैकएंड को अच्छी तरह से हैंडल नहीं करने पर एक फ्रंटएंड कनेक्शन पर कई अनुरोधों की अनुमति दें; या कई
फ्रंट

कंप्रेशन कंप्रेसिंग सर्वर प्रतिक्रियाएं क्लाइंट को देने से पहले (उदाहरण के लिए, gzip के साथ) उन्हें आवश्यक बैंडविड्थ की मात्रा कम कर देता है, जो नेटवर्क पर उनके पारगमन को गति देता है
dimuthu

25

इसके अलावा, एक रिवर्स प्रॉक्सी वेब सर्वर के लिए विशिष्ट है।

लोड बैलेंसर हालांकि कई अन्य प्रोटोकॉल से निपट सकते हैं। जबकि वेब (HTTP) आजकल बड़ा विचार है, DNS, मेल (SMTP, IMAP), आदि जैसी चीजों को भी संतुलित रूप से लोड किया जा सकता है। यह सिर्फ आजकल है जब ज्यादातर लोग "इंटरनेट" या "आईपी नेटवर्क" सोचते हैं, वे वेब के बारे में सोचते हैं। वहाँ एक गुच्छा अधिक सामान है जो अधिक अस्पष्ट हो सकता है, या एक आला से अधिक हो सकता है।


12

जबकि नेट परिणाम (सर्वर के बीच अनुरोधों को वितरित करना) विभिन्न लोड बैलेन्सर और रिवर्स प्रॉक्सी के बीच समान है, अंतर उन अनुरोधों को वितरित करने के लिए उपयोग की जाने वाली विधि में है।

कुछ लोड बैलेंसर्स DNS का उपयोग करके ट्रैफ़िक को संतुलित करते हैं, एक राउंड रॉबिन में अलग-अलग आईपी के लिए एक ही नाम को प्रभावी रूप से पुनर्निर्देशित करने का अनुरोध करते हैं। यह अक्सर उपयोगी हो सकता है जब डेटा केंद्रों या अन्य भौतिक स्थानों के बीच संतुलन के अनुरोधों को लोड करता है। यह एक खराब विकल्प है अगर आपको "तत्काल" की आवश्यकता होती है, तो आप असफल हो जाते हैं, जैसा कि आप अपने क्लाइंट डीएनएस सर्वर की दया पर आपके द्वारा प्रदान किए गए टीटीएल को सम्मानित करने के लिए करते हैं। सिस्को का जीएसएस (ग्लोबल साइट सिलेक्टर) डीएनएस आधारित लोड बैलेंसिंग का एक अच्छा उदाहरण है।

पैकेट लोड हेडर द्वारा अन्य लोड बैलेंसर्स काम करते हैं जो एक खेत में एक सर्वर के वास्तविक आईपी के लिए एक वर्चुअल आईपी को नियत करता है। यह वास्तविक समय भार संतुलन प्रदान करता है और निकटवर्ती विफल होने पर निकटता प्रदान करता है। इसका एक उदाहरण सिस्को का CSM (कंटेंट स्विचिंग मॉड्यूल) होगा

ध्यान दें कि उपरोक्त दोनों उदाहरणों में, क्लाइंट और सर्वर के बीच एक टीसीपी वार्तालाप है।

एक रिवर्स प्रॉक्सी वेब सर्वर की ओर से अनुरोध को स्वीकार करके काम करता है और फिर वेब सर्वर के लिए उस अनुरोध को प्रतिध्वनित करता है और इसे क्लाइंट को वापस करता है, वैकल्पिक रूप से कैशिंग के परिणाम के समान अनुरोध का पालन करना चाहिए।

ध्यान दें कि ग्राहक वास्तव में वेब सर्वर से कोई संबंध स्थापित नहीं करता है; बल्कि बातचीत सख्ती से प्रॉक्सी और क्लाइंट के बीच है।


4

एक लोड बैलेंसर लेयर 3 से लेयर 7 तक ट्रैफ़िक को संतुलित कर सकता है, लेकिन एक रिवर्स प्रॉक्सी HTTP विशिष्ट है।


3

एक रिवर्स प्रॉक्सी एक क्लाइंट से एक अनुरोध स्वीकार करता है, जो इसे पूरा करने वाले सर्वर के लिए अग्रेषित करता है , और क्लाइंट को सर्वर की प्रतिक्रिया देता है (जिसका अर्थ है कि रिवर्स प्रॉक्सी के पीछे एक सर्वर किसी प्रोटोकॉल या किसी अलग प्रोटोकॉल की कुछ विशेषताओं के साथ संचार कर सकता है) )।

एक लोड बैलेंसर सर्वर के एक समूह के बीच आने वाले क्लाइंट अनुरोधों को वितरित करता है, प्रत्येक मामले में उपयुक्त सर्वर से चयनित सर्वर से प्रतिक्रिया लौटाता है।


1
तो आपका मतलब है कि वितरण के साथ एक लोड बैलेंसर एक 'रिवर्स प्रॉक्सी' है?
एंथनी काँग

4
यह nginx.com/resources/glossary/reverse-proxy-vs-load-balancer का सीधा दोहराव है या तो वे आपका उत्तर चुरा लेते हैं या आपको अपने स्रोतों का संदर्भ देना चाहिए
icc97
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.