2011-09-22 13 views
6

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

scenerio:

हम अमेरिका के विपरीत छोर पर 2 साइट है। हम चाहते हैं कि ग्राहक प्रत्येक साइट पर उच्च मात्रा में लिख सकें। हम चाहते हैं कि प्रत्येक ग्राहक अपनी साइट पर भी पढ़ाई करने में सक्षम हो। हालांकि हम चाहते हैं कि डेटा < 50ms में बहन साइट पर एक लेख से उपलब्ध हो। यह देखते हुए कि हमारे पास बैंडविड्थ है। क्या हमारी जरूरतों को पूरा करने के लिए रेडिस को कॉन्फ़िगर करने का कोई तरीका है? हमारे लिखते हैं कि अधिकतम आकार 5k के क्रम में आमतौर पर बहुत कम होगा। मुख्य बिंदु यह है कि मेरे पास 2 स्वामी हैं जो एक-दूसरे से समन्वयित कर रहे हैं भले ही यह डिफ़ॉल्ट रूप से समर्थित न हो।

उत्तर

11

टॉम की जवाब के साथ पकड़ है कि आप क्लस्टर किसी भी प्रकार का, तो आप सिर्फ दो सर्वर के लिए लिख रहे नहीं चल रहे हैं है। यदि आप उनके बीच स्थिरता सुनिश्चित करना चाहते हैं तो यह एक समस्या है। विचार करें कि क्या होता है जब आपका क्लाइंट दूरस्थ सर्वर पर लिखने में विफल रहता है। क्या आप स्थानीय को लिखना पूर्ववत करते हैं? जब आप दूरस्थ सर्वर पर नहीं लिख सकते हैं तो एप्लिकेशन के साथ क्या होता है? क्या होता है जब आप स्थानीय से नहीं पढ़ सकते हैं?

दूसरा पकड़ मूलभूत भौतिकी मुद्दा जोशुआ उठाता है। एक दौर यात्रा के लिए आप 12 सैम के दोनों सिरों (तीन प्रणालियों) पर एक सैद्धांतिक अधिकतम प्रसंस्करण समय छोड़कर 38 सैद्धांतिक न्यूनतम 38ms बात कर रहे हैं। मैं कहूंगा कि उम्मीद थोड़ी अधिक है और बैंडविड्थ के पास इस मामले में विलंबता से कोई लेना देना नहीं है। आपके पास 10 जीबी पाइप हो सकती है और वे समय अभी भी मौजूद हैं। उस ने कहा, 12ms में महाद्वीप में 5k स्थानांतरित करना भी बहुत कुछ पूछ रहा है। क्या आप वाकई 50 एमएमएस में 5k डेटा स्थानांतरित करने की कनेक्शन क्षमता प्राप्त कर चुके हैं, अकेले 12 दें? मैं महाद्वीप में निजी नो-यूजेशन सर्किट पर रहा हूं और 50 मिनट से अधिक पिंग टाइम्स देख रहा हूं - और पिंग डेटा के 5k स्थानांतरित नहीं कर रहा है।

आप दो असंबद्ध सर्वरों को सिंक में कैसे रखेंगे? यदि आपको महाद्वीप में वास्तव में उप -50 एमएमएस विलंबता की आवश्यकता है, तो उपरोक्त सैद्धांतिक सर्वोत्तम मामले का अर्थ है कि आपके पास सिंक्रनाइज़ेशन एल्गोरिदम चलाने के लिए 12ms हैं। अन्य सर्वर पर डेटा की जांच करने के लिए एक प्रश्न का अर्थ है कि आप 50 एमएमएस विंडो के बाहर हैं। यदि डेटा सिंक से बाहर है, तो आप इसे कैसे ठीक करेंगे? उपर्युक्त समय को देखते हुए, मुझे नहीं लगता कि 50ms से कम में सिंक्रनाइज़ करना संभव है।

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

यदि आपको सिंक्रनाइज़ेशन की कोई आवश्यकता नहीं है, तो बस एक सर्वर क्यों न चलाएं?आप महाद्वीप के दूसरी तरफ एक दास का उपयोग केवल वसूली के उद्देश्यों के लिए कर सकते हैं। बेशक, इसका अभी भी मतलब है कि सबसे अच्छा मामला आपके पास 12 एमएमएस है और वहां डेटा प्राप्त करने के लिए है। मैं 50ms दौर यात्रा संचालन + महाद्वीप में विलंबता + 5k/10k डेटा स्थानांतरण पर भरोसा नहीं करता।

+1

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

+1

मैं पूछूंगा कि कौन सा महत्वपूर्ण पहलू है, पास-साइड लिखता है, या पास-साइड पढ़ता है। सबसे तेज़ संभव एकल-मास्टर और स्थानीय पढ़ने वाले दास होंगे। क्या आप पढ़ा-गहन या लिखने-गहन, या लगभग 50-50 हैं? यदि आपके पास पहले से ही डेटा सेंटर साइटें हैं तो मैं एक मास्टर को ऊपर रखूंगा और परीक्षण चलाऊंगा। मल्टी-मास्टर, विशेष रूप से क्रॉस-महाद्वीप बहुत सरल है। सौभाग्य से, ज्यादातर मामलों में यह वास्तव में जरूरत नहीं है। मैं एक परीक्षण सेट स्थापित करता हूं और इसे पहचानता हूं कि यह मामला मान्य करता है। यदि एक आसान और मजबूत तरीका है तो मल्टीमास्टर पर ध्यान केंद्रित न करें। मुझे संदेह है कि 1 मस्टर और वितरित दास आपके लिए काम करेंगे। –

2

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