Amazon ElastiCache से Redis Enterprise Cloud में निर्बाध माइग्रेशन: एक सरल, कम-डाउनटाइम समाधान
आज उपलब्ध अधिकांश डेटाबेस माइग्रेशन टूल्स ऑफलाइन प्रकृति के हैं। वे जटिल हैं और मैन्युअल हस्तक्षेप की आवश्यकता होती है।
यदि आप उदाहरण के लिए Amazon ElastiCache से Redis Enterprise Cloud में अपने डेटा को माइग्रेट करना चाहते हैं, तो सामान्य प्रक्रिया है अपने ElastiCache डेटा का Amazon S3 बकेट में बैकअप लेना और फिर Redis Enterprise Cloud UI का उपयोग करके अपने डेटा को इम्पोर्ट करना। इस प्रक्रिया में दर्दनाक डाउनटाइम की आवश्यकता हो सकती है और इसके परिणामस्वरूप डेटा हानि हो सकती है। अन्य उपलब्ध तकनीकों में स्रोत Redis सर्वर के पॉइंट-इन-टाइम स्नैपशॉट बनाना और परिवर्तनों को गंतव्य सर्वरों पर लागू करना शामिल है ताकि दोनों सर्वर सिंक में रहें। यह एक अच्छा दृष्टिकोण लग सकता है, लेकिन जब आपको माइग्रेशन रणनीति को लागू करने के लिए दर्जनों स्क्रिप्ट बनाए रखनी पड़ती हैं तो यह चुनौतीपूर्ण हो सकता है।
इसलिए हम एक अलग दृष्टिकोण लेकर आए हैं:
RIOT का परिचय
RIOT, Redis में सॉल्यूशन आर्किटेक्ट जूलियन रूक्स द्वारा निर्मित एक ओपन सोर्स ऑनलाइन माइग्रेशन टूल है। RIOT एक प्रोड्यूसर/कंज्यूमर दृष्टिकोण का उपयोग करके क्लाइंट-साइड रेप्लिकेशन लागू करता है। प्रोड्यूसर कुंजी और मान पाठकों का संयोजन है जिनका ElastiCache से कनेक्शन है। कुंजी पाठक घटक स्कैन और कीस्पेस नोटिफिकेशन का उपयोग करके रेप्लिकेट की जाने वाली कुंजियों की पहचान करता है। प्रत्येक कुंजी के लिए, मान पाठक घटक एक DUMP करता है और परिणामी कुंजी+बाइट्स को कंज्यूमर (राइटर) को संभालता है, जो Redis Enterprise कनेक्शन पर RESTORE करता है।
यह ब्लॉग पोस्ट दिखाएगा कि ElastiCache से Redis Enterprise Cloud में डेटाबेस का निर्बाध ऑनलाइन माइग्रेशन कैसे करें।
न चूकें: DBaaS प्रोवाइडर चुनते समय विचार करने योग्य 6 प्रमुख विशेषताएं और Redis Enterprise Cloud कैसे AWS पर परिपक्व एंटरप्राइज ग्राहकों की जरूरतों को पूरा करता है
पूर्वापेक्षाएँ:
माइग्रेशन टूल का उपयोग करने के लिए आपको कुछ संसाधनों की आवश्यकता होगी:
एक Redis Enterprise Cloud सब्सक्रिप्शन
Amazon ElastiCache (सिंगल-मास्टर EC के मामले में एक प्राथमिक एंडपॉइंट और क्लस्टर्ड EC के मामले में एक कॉन्फिगरेशन एंडपॉइंट: ElastiCache दस्तावेज़ पर कनेक्शन एंडपॉइंट खोजने के बारे में अधिक जानने के लिए देखें)
Linux पर आधारित एक Amazon EC2 इंस्टेंस
Amazon EC2 इंस्टेंस सेट करना
आप या तो एक नया EC2 इंस्टेंस बना सकते हैं या किसी मौजूदा का लाभ उठा सकते हैं। हमारे उदाहरण में, हम पहले Amazon Web Services (AWS) पर एक इंस्टेंस बनाएंगे। सबसे आम परिदृश्य एक ही Amazon Virtual Private Cloud (Amazon VPC) में Amazon EC2 इंस्टेंस से ElastiCache क्लस्टर तक पहुंचना है। हमने इस सेटअप के लिए Ubuntu 16.04 LTS का उपयोग किया है, लेकिन आप अपनी पसंद के Ubuntu या Debian वितरण को चुन सकते हैं।
SSH का उपयोग करके इस नए EC2 इंस्टेंस से अपने कंप्यूटर से कनेक्ट करें जैसा कि यहां दिखाया गया है:
ssh -i "public key"
इस नए इंस्टेंस पर redis-cli टूल इंस्टॉल करें यह कमांड चलाकर:
पैकेज को अनज़िप करें और सुनिश्चित करें कि RIOT बाइनरीज़ जगह पर हैं, जैसा कि यहां दिखाया गया है:
wget https://github.com/Redislabs-Solution-Architects/riot/releases/download/v2.0.8/riot-redis-2.0.8.zip
unzip riot-redis-2.0.8.zip
cd riot-redis-2.0.8/bin/
आप नीचे दी गई कमांड चलाकर RIOT का संस्करण देख सकते हैं:
./riot-redis --version
RIOT version "2.0.8"
bin/riot-redis --help
Usage: riot-redis [OPTIONS] [COMMAND]
-q, --quiet Log errors only
-d, --debug Log in debug mode (includes normal stacktrace)
-i, --info Set log level to info
-h, --help Show this help message and exit.
-V, --version Print version information and exit.
Redis connection options
-r, --redis= Redis connection string (default: redis://localhost:6379)
-c, --cluster Connect to a Redis Cluster
-m, --metrics Show metrics
-p, --pool= Max pool connections (default: 8)
Commands: replicate, r Replicate a source Redis database in a target Redis database
info, i Display INFO command output
latency, l Calculate latency stats
ping, p Execute PING command
एक बार Java और RIOT इंस्टॉल हो जाने पर, हम नीचे दी गई कमांड के साथ माइग्रेशन प्रक्रिया शुरू करने के लिए तैयार हैं, जो स्रोत (ElastiCache) से लक्ष्य (Redis Enterprise Cloud) तक डेटा को सीधे रेप्लिकेट करती है।
अंत में, ElastiCache से Redis Enterprise Cloud में डेटा को रेप्लिकेट करने का समय आ गया है नीचे दी गई कमांड चलाकर:
ElastiCache आपको दो तरीकों से कॉन्फिगर करने की अनुमति देता है: क्लस्टर्ड और नॉन-क्लस्टर्ड। नीचे दिए गए चार्ट में, पहली पंक्ति दिखाती है कि नॉन-क्लस्टर्ड परिदृश्य के लिए आपको कौन सी कमांड चलानी चाहिए, जबकि दूसरी पंक्ति एक विशिष्ट डेटाबेस नेमस्पेस के साथ क्लस्टर्ड परिदृश्य के लिए कमांड दिखाती है:
जैसा कि आप देख सकते हैं, जब भी आपके पास क्लस्टर्ड ElastiCache होता है, तो आपको स्रोत ElastiCache एंडपॉइंट निर्दिष्ट करने से पहले –क्लस्टर विकल्प पास करना होगा।
महत्वपूर्ण नोट्स
उत्पादन में उपयोग करने से पहले माइग्रेशन का उपयोगकर्ता स्वीकृति परीक्षण करें।
एक बार माइग्रेशन पूरा हो जाने पर, सुनिश्चित करें कि एप्लिकेशन ट्रैफिक सफलतापूर्वक Redis Enterprise एंडपॉइंट पर रीडायरेक्ट हो जाता है।
डेटा हानि की संभावना को कम करने के लिए कम ट्रैफिक की अवधि के दौरान माइग्रेशन प्रक्रिया करें।
निष्कर्ष
यदि आप एक सरल और उपयोग में आसान लाइव माइग्रेशन टूल की तलाश में हैं जो आपको Amazon ElastiCache से Redis Enterprise Cloud में डेटा को बिना डाउनटाइम के ले जाने में मदद कर सके, तो RIOT एक आशाजनक विकल्प है।
2009 में इसके निर्माण के बाद से, Redis OSS का एक बहुत जीवंत ओपन सोर्स समुदाय रहा है। इसके आसपास कई टूल्स और यूटिलिटीज विकसित की गई हैं और Dynomite, नॉन-डिस्ट्रीब्यूटेड डेटास्टोर्स के लिए एक पीयर-टू-पीयर जियो-डिस्ट्रीब्यूशन लेयर, उनमें से एक है।
Dynomite को Netflix में इंजीनियरों की एक टीम द्वारा वि
यह ब्लॉग पोस्ट समीक्षा करता है कि Oracle® डेटाबेस बैकअप के लिए स्टोरेज के रूप में Amazon Simple Storage Service (S3) का उपयोग कैसे करें। Amazon Web Services (AWS) पहला क्लाउड विक्रेता था जिसके साथ Oracle ने क्लाउड में डेटाबेस बैकअप सक्षम करने के लिए भागीदारी की। S3, AWS का मुख्य स्टोरेज प्रस्ताव है।
MOVE कमांड
इस कमांड का उपयोग वर्तमान में चयनित डेटाबेस से निर्दिष्ट की को हटाकर उसी की को डेस्टिनेशन डेटाबेस में डालने के लिए किया जाता है। यदि की सोर्स डेटाबेस में मौजूद नहीं है या यह पहले से डेस्टिनेशन डेटाबेस में मौजूद है, तो कोई ऑपरेशन नहीं किया जाता है और 0 लौटाया जाता है। Redis MOVE कमांड का स