2013-09-05 5 views
5

मैं ऐसे संगठन के लिए कुछ काम कर रहा हूं जिसमें दुनिया के 48 देशों में कार्यालय हैं। अनिवार्य रूप से वे जिस तरह से काम करते हैं वह यह है कि वे सभी डेटाबेस की स्थानीय प्रतिलिपि में डेटा संग्रहीत करते हैं और इसे दुनिया के सभी क्षेत्रों/कार्यालयों में दोहराया जाता है। अजीब अवसर पर जहां उन्हें सीधे उस चीज़ पर काम करने की ज़रूरत है जहां लंदन सर्वर पर "विकास प्रति" है, उन्हें सीधे लंदन सर्वर से कनेक्ट करना होगा, भले ही वे दुनिया में कहां हों।एक वैश्विक रूप से वितरित Neo4j के लिए वास्तुकला?

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

अनिवार्य रूप से, नियो 4j वैश्विक वितरण समस्या को कैसे हल करता है?

उत्तर

7

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

एक बहु-क्षेत्रीय सेटअप में मैं 'प्राथमिक क्षेत्र' में पूर्ण (उर्फ न्यूनतम 3 उदाहरण) क्लस्टर रखने की अनुशंसा करता हूं। एक और 3-आवृत्ति समूह एक द्वितीयक क्षेत्र में है जो गुलाम-केवल मोड में चल रहा है। यदि प्राथमिक क्षेत्र पूरी तरह से नीचे चला जाता है (बहुत दुर्लभ होता है लेकिन यह धीमा होता है) निगरानी उपकरण द्वितीयक क्षेत्र में कॉन्फ़िगरेशन परिवर्तन को ट्रिगर करता है ताकि उसके उदाहरण मास्टर बन सकें। फास्ट रीड एक्सेस की आवश्यकता वाले सभी अन्य कार्यालयों में तब एक्स (x> = 1, पढ़ने के प्रदर्शन के आधार पर) दास-केवल उदाहरण होते हैं। प्रत्येक स्थान पर आपके पास एचए प्रॉक्सी (या अन्य एलबी) होता है जो निर्देशक को मास्टर (आमतौर पर प्राथमिक क्षेत्र में) लिखता है और स्थानीय क्षेत्र में पढ़ता है।

यदि आप एकल क्लस्टर के लिए ~ 20 उदाहरणों से आगे जाना चाहते हैं, तो पहले अवधारणा का गंभीर सबूत करने पर विचार करें। मास्टर गुलाम वास्तुकला के कारण यह दृष्टिकोण अनिश्चितता से स्केल नहीं करता है।

+0

ग्रेट उत्तर: क्या होता है जब दोनों स्थानों के बीच का लिंक टूट जाता है, दोनों समूहों में परिवर्तन किए जाते हैं, और फिर लिंक बहाल किया जाता है? मुझे लगता है कि मैंने विवाद घटनाओं के लिए हैंडलर प्रदान करने के बारे में कुछ पढ़ा है ... क्या यह सही है? मास्टर चुनाव के लिए – gremwell

+0

क्लोरम के लिए आपको क्लस्टर सदस्यों के आधे से अधिक की आवश्यकता है (यही कारण है कि आपके पास एक विषम संख्या होनी चाहिए)। कोरम के बिना कोई मास्टर चुने नहीं जाएगा। आपके क्लस्टर की एक अलग अल्पसंख्यक अभी भी पढ़ाई को संभाल सकती है, लेकिन यह लिखने को स्वीकार नहीं करेगी। –

+0

लेकिन हमें सिडनी में 3 का क्लस्टर लंदन में 3 का क्लस्टर मिला है। मास्टर लंदन में है, और कोई लंदन कार्यालय में कटौती करता है (नोट: सर्वर अभी भी चल रहे हैं, और लंदन कार्यालय में हर कोई उनका उपयोग जारी रखता है)। सिडनी अब एक नया मास्टर चुनता है और थोड़ी देर के लिए काम करता है। कुछ समय बाद लंदन कार्यालय से कनेक्शन ऑनलाइन वापस आता है। क्या होता है? – gremwell

संबंधित मुद्दे