बेन स्लेटर . द्वारा , मुख्य उत्पाद अधिकारी, इंस्टाक्लस्टर।
एक लाइव अपाचे कैसेंड्रा परिनियोजन को एक नए स्थान पर ले जाना? कुछ चिंताएं होना स्वाभाविक है, जैसे कि आप कैसेंड्रा क्लस्टर को पूरी प्रक्रिया में 100% उपलब्ध रख सकते हैं। लेकिन, तथ्य यह है कि यदि आपका आवेदन कनेक्शन सेटिंग में परिवर्तन के दौरान ऑनलाइन रहने में सक्षम है, तो यह इस संक्रमण के दौरान पूरी तरह से उपलब्ध रह सकता है। अतिरिक्त सुरक्षा और मन की शांति के लिए, निम्न तकनीक में आपके मूल कॉन्फ़िगरेशन पर लौटने के लिए एक त्वरित रोलबैक रणनीति भी शामिल है, जब तक कि माइग्रेशन पूरा नहीं हो जाता।
यहां अनुशंसित सात-चरण कैसंड्रा क्लस्टर माइग्रेशन ऑर्डर-ऑफ-ऑपरेशन है जो किसी भी डाउनटाइम से बच जाएगा:
<एच2>1. अपने मौजूदा परिवेश को तैयार करें।सबसे पहले, सुनिश्चित करें कि आपका एप्लिकेशन डेटासेंटर-अवेयर लोड बैलेंसिंग पॉलिसी के साथ-साथ LOCAL_* का उपयोग कर रहा है। साथ ही, जांचें कि सभी नए क्लस्टर में कॉपी किए जाने वाले कीस्पेस को उनकी प्रतिकृति रणनीति के रूप में NetworkTopologyStrategy का उपयोग करने के लिए सेट किया गया है। यह भी अनुशंसा की जाती है कि सभी कीस्पेस बनाए जाने पर इस प्रतिकृति रणनीति का उपयोग करें, क्योंकि बाद में इसे बदलना जटिल हो सकता है।
2. नया क्लस्टर बनाएं।
अब, नया क्लस्टर बनाने का समय आ गया है, जिसमें आप माइग्रेट करेंगे। यहां कुछ बातों का ध्यान रखना चाहिए:सुनिश्चित करें कि नया क्लस्टर और मूल क्लस्टर समान कैसेंड्रा संस्करण और क्लस्टर नाम का उपयोग करते हैं। साथ ही, आपके द्वारा उपयोग किया जाने वाला नया डेटासेंटर नाम मौजूदा डेटासेंटर के नाम से अलग होना चाहिए।
3. एक साथ क्लस्टर में शामिल हों।
ऐसा करने के लिए, पहले कोई भी आवश्यक फ़ायरवॉल नियम परिवर्तन करें ताकि क्लस्टर्स को शामिल किया जा सके, यह याद रखते हुए कि स्रोत क्लस्टर में कुछ परिवर्तन भी आवश्यक हो सकते हैं। फिर, नए क्लस्टर के सीड नोड्स को बदलें—और उन्हें शुरू करें। एक बार यह हो जाने के बाद, नया क्लस्टर मूल क्लस्टर में दूसरा डेटासेंटर होगा।
4. प्रतिकृति सेटिंग बदलें।
इसके बाद, मौजूदा क्लस्टर में, कॉपी किए जाने वाले कीस्पेस के लिए प्रतिकृति सेटिंग्स को अपडेट करें, ताकि डेटा अब गंतव्य के रूप में नए डेटासेंटर के साथ दोहराया जाएगा।
5. डेटा को नए क्लस्टर में कॉपी करें।
जब क्लस्टर एक साथ जुड़ जाते हैं, तो कैसेंड्रा नए क्लस्टर में लेखन को दोहराना शुरू कर देगा। हालाँकि, किसी भी मौजूदा डेटा को नोडेटूल पुनर्निर्माण फ़ंक्शन के साथ कॉपी करना अभी भी आवश्यक है। नए क्लस्टर पर एक बार में एक या दो नोड्स पर इस फ़ंक्शन को निष्पादित करना सबसे अच्छा अभ्यास है, ताकि मौजूदा क्लस्टर पर अत्यधिक स्ट्रीमिंग लोड न हो।
6. एप्लिकेशन के कनेक्शन बिंदुओं में बदलाव करें।
पुनर्निर्माण फ़ंक्शन के सभी उपयोग पूर्ण होने के बाद, प्रत्येक क्लस्टर में माइग्रेट किए जा रहे डेटा की एक पूरी प्रतिलिपि होगी, जिसे कैसेंड्रा स्वचालित रूप से सिंक में रखेगा। अब समय आ गया है कि आपके एप्लिकेशन के शुरुआती कनेक्शन बिंदुओं को नए क्लस्टर में नोड्स में बदल दिया जाए। एक बार यह पूरा हो जाने के बाद, सभी पढ़ने और लिखने को नए क्लस्टर द्वारा परोसा जाएगा, और बाद में मूल क्लस्टर में दोहराया जाएगा। अंत में, यह सुनिश्चित करने के लिए कि सभी डेटा को मूल से सफलतापूर्वक दोहराया गया है, क्लस्टर में एक मरम्मत फ़ंक्शन चलाना स्मार्ट है।
7. मूल क्लस्टर बंद करें।
मूल क्लस्टर को हटाते हुए, प्रवास के बाद की थोड़ी सफाई के साथ प्रक्रिया को पूरा करें। सबसे पहले, मूल क्लस्टर को नए से डिस्कनेक्ट करने के लिए फ़ायरवॉल नियमों को बदलें। फिर, मूल क्लस्टर में डेटा की प्रतिकृति को रोकने के लिए नए क्लस्टर में प्रतिकृति सेटिंग्स का अद्यतन करें। अंत में, मूल क्लस्टर को बंद करें।
और आपके पास यह है:आपका Apache Cassandra परिनियोजन पूरी तरह से माइग्रेट कर दिया गया है, शून्य डाउनटाइम, कम जोखिम के साथ, और आपके अंतिम उपयोगकर्ताओं के दृष्टिकोण से पूरी तरह से निर्बाध और पारदर्शी तरीके से।
लेखक के बारे में
बेन स्लेटर इंस्टाक्लस्ट्र में मुख्य उत्पाद अधिकारी हैं, जो क्लाउड में एंटरप्राइज़-ग्रेड, होस्ट और पूरी तरह से प्रबंधित अपाचे कैसेंड्रा ओपन सोर्स डेटा इन्फ्रास्ट्रक्चर का प्रदाता है।