मोनगोडब: लोड बैलेंसर के साथ प्रतिकृति-सेट


9

क्या मोंगोडब प्रतिकृति सेट के साथ लोड संतुलन के लिए कोई विकल्प है? मैं एक HAProxy या समान के लिए नहीं कह रहा हूं, लेकिन मोंगोडब से अंतर्निहित सुविधा के लिए। डॉक्स में इसके लिए टिप्स नहीं मिल सके।

जवाबों:


11

यदि आप शार्किंग का उपयोग कर रहे हैं, तो "लोड बैलेंसर" मोंगोस प्रक्रिया है - वास्तव में यह राउटर की तरह अधिक है - यह कॉन्फ़िगरेशन डेटाबेस की इन-मेमोरी कॉपी रखता है और शार्क कुंजी के आधार पर निर्णय ले सकता है।

यदि आपका मतलब समान प्रतिकृति सेटों या सेट के सदस्यों के पार लोड संतुलन से है, तो उस परिदृश्य को भी संभालने के लिए एक विशेष अनुरोध है ( https://jira.mongodb.org/browse/SERVER-1594 ), हालांकि ड्राइवर कैसे काम करते हैं यह वास्तव में आवश्यक नहीं है (यह ड्राइवरों को कम जटिल बना देगा)।

एक एकल प्रतिकृति सेट में, आप लेखन वितरित नहीं कर सकते, वे सभी प्राथमिक में जाने चाहिए। जैसा कि आप उचित समझें, आप रीडर्स को पहले से पढ़े गए दूसरे को वितरित कर सकते हैं । ड्राइवर ट्रैक रखता है कि एक प्राथमिक क्या है और एक माध्यमिक और मार्गों का क्या उचित है।


2

The लोड बैलेंसिंग ’को पैनापन के जरिए हासिल किया जाता है। आप वास्तव में अलग-अलग शार्क पर लिख / अपडेट वितरित करते हैं। कोई विशिष्ट एल्गोरिथ्म नहीं है जो ऐसा करता है जैसा कि मोंगो आपको जो भी कुंजी (ओं) के संयोजन के आधार पर डेटा को विभाजित करने की अनुमति देगा। सबसे अच्छा विभाजन एल्गोरिदम वे हैं जिनमें अनुक्रमिक प्रविष्टियों का एक कंपाउंड प्लस एक यादृच्छिक होता है।

उदाहरण के लिए एक यूजर आईडी को फॉलो के रूप में विभाजित किया जा सकता है

xx-sha1(user email) 
xx = time sequence

ध्यान रखें कि शार्पिंग को लागू करने के लिए आपके पास तीन कॉन्फ़िगरेशन सर्वर और डेटा नोड्स होना आवश्यक है। डेटा नोड्स को अतिरेक के लिए प्रतिकृति सेट में वर्गीकृत किया जा सकता है और इसका उपयोग केवल (यदि आप कर सकते हैं) सेकंडरी से डेटा पढ़ने के लिए किया जा सकता है। मैं केवल यह कहता हूं कि आप डेटा को पढ़ सकते हैं क्योंकि प्रतिकृति को एसिंक्रोनस किया जाता है, इसलिए कोई गारंटी नहीं है कि नया डेटा दूसरी बार क्वेरी समय पर उपलब्ध होगा।

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.