परत 4 बनाम परत 7 लोड संतुलन


21

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

लोड बैलेंसरों को दो स्विच से जोड़ा जाएगा, दोनों को डेटासेंटर एकत्रीकरण परत तक एक स्वतंत्र कनेक्शन के साथ और रैपिड स्पैनिंग ट्री और जो भी मालिकाना प्रोटोकॉल का उपयोग करते हुए एक साथ विलय हो जाता है, जो स्विच वर्चुअलाइजेशन के लिए उपयोग करते हैं। लोड बैलेन्सर एक क्रॉसओवर केबल के ऊपर एक दूसरे से क्रॉस-लिंक भी होंगे। क्लस्टर के सभी सर्वर दोनों स्विच से जुड़े हैं। लोड बैलेंसर्स को जो कुछ करना होता है, वह सब उनके ऊपर ट्रैफिक को इंगित करता है।

चूंकि यह सिर्फ HTTP है, मैं HAProxy या nginx जैसे एक लेयर 7 लोड बैलेंसिंग समाधान का उपयोग कर सकता हूं। लेकिन मैं एलवीएस परियोजना का उपयोग लॅक्कार्ड या रखवाले या जो भी कर सकता था, के साथ भी कर सकता था।

मैंने पेशेवरों और विपक्ष को तोड़ने की कोशिश की है क्योंकि मैं उन्हें देखता हूं, लेकिन यह सिर्फ एक धोने में समाप्त होता है। आप क्या सुझाएंगे और क्यों? क्या मैं कुछ भूल रहा हूँ?

जवाबों:


17

"L7" का एक उपयोगी लाभ जैसे कि हाईप्रोइक समान ब्राउज़र को एक ही बैकएंड सर्वर को रखने के लिए कुकीज़ का उपयोग करने में सक्षम हो रहा है। यह डिबगिंग क्लाइंट हिट को बहुत आसान बना देता है।

L4 बैलेंसिंग कई बैकएंड सर्वर पर एक ही उपयोगकर्ता को बाउंस कर सकती है। (जो कुछ मामलों में फायदेमंद हो सकता है, लेकिन डिबगिंग / प्रोफाइलिंग अर्थों में, "L7" का उपयोग करना अधिक मूल्यवान है।)

संपादित करें: HTTP बैलेंसिंग का उपयोग करने का एक संभावित गति लाभ भी है। कीप-अलाइव क्लाइंट्स आपके बैलेंसर के लिए एक एकल टीसीपी सत्र स्थापित कर सकते हैं और फिर नए टीसीपी सत्र (3-वे हैंडशेक) को फिर से स्थापित करने की आवश्यकता के बिना कई एचआईटी भेज सकते हैं। इसी तरह कई एलबी बैक-एंड सिस्टम को बनाए रखते हैं, जो बैक एंड पर समान हैंडशेक करने की आवश्यकता को दूर करते हैं।

सख्त टीसीपी लोड संतुलन इन दोनों को आसानी से पूरा नहीं कर सकता है।

/ * FWIW: मैं "L7" या "L4" नहीं कहूंगा, मैं HTTP या TCP कहूंगा। लेकिन मैं उन चीजों का वर्णन करने के लिए ओएसआई का उपयोग करने से बचने के लिए एक स्टिकर हूं जो इसे अच्छी तरह से मेल नहीं खाता है। * /

मुझे लगता है कि अगर आप सुनिश्चित नहीं हैं कि क्या तैनात करना है, तो उस चीज़ के साथ जाएं जो आपको सरल और स्वाभाविक लगता है। इसका परीक्षण करें (अपाचे बेंच का उपयोग करें?) और सुनिश्चित करें कि यह आपकी आवश्यकताओं के लिए काम करता है। मेरे लिए HTTP LB अधिक स्वाभाविक है।


स्टिकीनेस, कुकी आधारित या आईपी आधारित, निश्चित रूप से L7 स्विचिंग का एक फायदा है। लेकिन यह ऐसा नहीं है कि हमारा आवेदन विशेष रूप से उपयोग करने में सक्षम होगा।
स्क्रिपर

HTTP लेवल लोड बैलेंसिंग का एक नुकसान यह नहीं होगा कि दोनों के बीच फेलओवर को सक्षम करने के लिए आपको HTTP बैलेन्कर्स के सामने एक टीसीपी लेवल लोड बैलेंसर रखना होगा?
स्क्रिपर

@ स्क्रिप्टर - आपको नहीं, नहीं। राउंड-रॉबिन डीएनएस मेरा ख्याल रख सकता है, जब तक कि मैं आपके प्रश्न को गलत नहीं समझता।
mfinni

@mfinni: वैश्विक भौगोलिक डीएनएस एक आईपी प्रति डेटासेंटर को इंगित करने में सक्षम होगा। मुझे उस आईपी का जवाब देने के लिए कुछ चाहिए।
स्क्रिपर

समझा। ठीक है, यह आपके डिवाइस की क्षमताओं पर निर्भर करता है। आप शायद एक L7- सक्षम डिवाइस पा सकते हैं जो एकल क्लस्टर वीआईपी के साथ जोड़े में काम कर सकता है जिसे हार्डवेयर टीसीपी / आईपी लोड-बैलेंसर की आवश्यकता नहीं होगी। यदि IIS और MS Windows NLB कर सकते हैं, तो मुझे लगता है कि अधिकांश अन्य वाणिज्यिक उत्पाद इसे कर सकते हैं।
mfinni

4

एल 7 संतुलन करने से आपको लाभ की कमी को देखते हुए, मैं इसके बजाय एल 4 संतुलन पर समझौता करूंगा। मैं बहुत ज्यादा त्याग किए बिना, इसे यथासंभव सरल रखने का बहुत बड़ा प्रशंसक हूं।

L7 के लिए उचित मार्ग के लिए गुजरने वाले पैकेटों में http हेडर का निरीक्षण करने के लिए बैलेंसरों की आवश्यकता होती है, अतिरिक्त उपयोगकर्ता के लिए अतिरिक्त उपरि और सीमांत वृद्धि को जोड़ते हैं। यह मेरे लिए एक व्यर्थ खर्च लगता है अगर आप इसके द्वारा कुछ भी हासिल नहीं करेंगे।


0

कुछ DNS प्रदाताओं में सरल विफलता कार्यक्षमता होती है। आपने उल्लेख किया है कि आपकी आवश्यकताएं क्या हैं और क्या नहीं, वे क्या हैं, लेकिन अगर आपको ज़रूरत है तो फेलओवर के साथ राउंड रॉबिन है यदि कुछ नीचे है, तो आप उदाहरण के लिए Zoneedit.com के फ़ेलओवर का उपयोग कर सकते हैं । आपके हा आवश्यकताओं पर निर्भर करता है जो काफी अच्छा हो सकता है और आप अपनी वास्तुकला में एक पूरे स्तर को छोड़ सकते हैं।


काश यह इतना सरल होता - हमें फेल-ओवर के साथ राउंड-रॉबिन जैसे कुछ और चाहिए, साथ ही भौगोलिक अलगाव भी। हालांकि, यह सब सवाल में नहीं है, क्योंकि यह एक बाहरी कंपनी द्वारा किया जा रहा है।
स्क्रिपरर

आपका क्या मतलब है - मुझे लगता है कि मेरा मतलब है कि DNS एक बाहरी कंपनी द्वारा भी किया जा रहा है, और उनमें से कुछ DNS सेवा के रूप में भू-लोड संतुलन और विफलता दोनों का समर्थन करते हैं - या आप का मतलब है कि आपके और DNS प्रदाता के बीच कुछ अतिरिक्त तृतीय पक्ष है, या कि आप सिर्फ DNS पर प्रत्यक्ष कहना नहीं है?
अर्नेस्ट म्यूएलर

पूर्व - हम पहले से ही एक बाहरी कंपनी के साथ डीएनएस कर रहे हैं जो विभिन्न डेटासेंटरों के लिए विफलता और भौगोलिक भार संतुलन बना रहा है। मुझे बस इसे डेटासेंटर के अंदर बैलेंस लोड करने की आवश्यकता है।
स्क्रिपर

आप सामने के छोर पर सर्वर द्वारा सर्वर के लिए एक ही राउंड रॉबिन का उपयोग कर सकते हैं? राउंड रॉबिन लोड बैलेंसिंग के लिए DNS का उपयोग अक्सर एकल डेटा सेंटर के लिए किया जाता है; कई जियोलोकेशन एक बड़े लड़के की आवश्यकता है जो उसके ऊपर है।
अर्नेस्ट म्यूएलर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.