Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

विभिन्न मशीनों पर रेडिस प्रतिकृति का उपयोग करना (मल्टी मास्टर)

आप एक सक्रिय-सक्रिय, उर्फ ​​मल्टी मास्टर, समाधान के लिए पूछ रहे हैं लेकिन आपका प्रश्न बताता है कि आपको इसकी आवश्यकता नहीं हो सकती है।

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

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

उस ने कहा, एक मल्टी मास्टर सेटअप जिसमें किसी भी डेटाबेस के खिलाफ मनमाने ढंग से लिखा जा सकता है नहीं फिलहाल रेडिस द्वारा समर्थित। यदि वास्तव में आपको यही चाहिए, तो किसी भिन्न समाधान का उपयोग करने पर विचार करें।

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




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. प्रहरी सी # से रेडिस मास्टर पता प्राप्त करना

  2. रेडिस में नेस्टेड वस्तुओं के साथ कार्य करना?

  3. Socket.io, Redis Store और IE

  4. डेटा मान बदलते समय क्लाइंट को सूचित करने के लिए नोडज के साथ रेडिस पब्लिश/सब्सक्राइब का उपयोग कैसे करें?

  5. रेडिस के ZRANK में समान स्कोर के लिए समान रैंक कैसे प्राप्त करें?