प्रहरी निगरानी के साथ अत्यधिक उपलब्ध रेडिस डेटाबेस कैसे बनाएं

द्वारा प्रकाशित किया गया था Zevenet | 10 जून, 2019

अवलोकन

Redis एक मैमोरी ब्रोकर, कैश और की-वैल्यू डेटाबेस के रूप में इस्तेमाल किया जा सकने वाला एक ओपन-सोर्स इन-मेमोरी डेटा स्ट्रक्चर स्टोर है। यह कई डेटा संरचनाओं का समर्थन करता है: हैश, सूचियाँ, सेट, सॉर्ट किए गए सेट, बिटमैप्स, जियोस्पेशियल इंडेक्स, हाइपरलॉगोग्राफी, आदि।

Redis को जो विशिष्ट बनाता है वह यह है कि इसे स्टोर और कैश दोनों माना जा सकता है। यह एक तरह से डिज़ाइन किया गया है, जिसमें मुख्य कंप्यूटर मेमोरी से डेटा को संशोधित और / या पढ़ा जाता है।

अन्य सुविधाओं में, Redis उच्च उपलब्धता, के माध्यम से प्रदान करता है रेडिस सेंटिनल, और स्वचालित विभाजन, के माध्यम से रेडिस क्लस्टर। इसके अलावा, रेडिस में एक प्रतिकृति तंत्र है जो दास उदाहरणों को मास्टर उदाहरणों की सटीक प्रतियां बनाने की अनुमति देता है। हर बार लिंक के टूटने पर दास स्वचालित रूप से मास्टर को फिर से कनेक्ट कर लेगा, और उसका लक्ष्य इसकी एक सटीक प्रतिलिपि होना होगा।

जैसा कि Redis Sentinel Redis के लिए उच्च उपलब्धता प्रदान करता है, यह कई मामलों में किसी भी मानवीय हस्तक्षेप के बिना स्वचालित रूप से विफलताओं को संभाल सकता है, लेकिन अन्य कार्यों जैसे निगरानी, ​​सूचनाएँ भी प्रदान करता है और ग्राहकों के लिए कॉन्फ़िगरेशन प्रदाता के रूप में कार्य करता है।

लेकिन, क्या होता है जब सेंटिनल एक रेडिस सर्वर का पता लगाता है? हम इस लेख में जानेंगे कि रेडिस के लिए पूरी तरह से उपलब्ध आभासी सेवा कैसे बनाई जाए।

कृपया ध्यान रखें कि यह कॉन्फ़िगरेशन भी किया जा सकता है, भले ही आपका रेडिस सर्वर सेंटिनल का उपयोग निगरानी के लिए नहीं कर रहा हो।

रेडिस संतुलन पर्यावरण संतुलन

इस आलेख में हम जो परिदृश्य प्राप्त करना चाहते हैं, वह नीचे दिए गए चित्र में दिखाया गया है।

Redis Sentinel सभी Redis नोड्स की स्थिति की जाँच करता है और एक त्रुटि का पता चलने पर Redis सर्वर की भूमिका बदल देता है।

लोड बैलेंसर राज्य की भी जाँच करता है, लेकिन यह समय-समय पर हर कुछ सेकंड में करता है। ऐसे मामले हो सकते हैं जिनमें प्रहरी समस्या का पता लगाते हैं लेकिन लोड बैलेंसर को महसूस करने में कुछ सेकंड तक का समय लग सकता है। यह गलत मास्टर को अनुरोध भेजने वाले बैलेंसर तक ले जा सकता है, जो कि विफल हो गया है लेकिन सेंटिनल द्वारा स्विच किया गया है।

Zevenet इस मुद्दे को हल करने का एक तरीका प्रदान करता है, एल 4 खेत समय-समय पर जांच करता है। दूसरी ओर, बैकएंड को प्रवाह भी पास है जिसमें कोई पिछला चेक नहीं है। जब खेत के संरक्षक को पता चलता है कि बैकेंड उत्तरदायी नहीं है, तो यह अलार्म को उठाता है, यह दर्शाता है कि प्रवाह इस तरह नहीं जाना चाहिए।

इसे ध्यान में रखते हुए, हमारे पास एक तरफ चेक और दूसरे अनुरोध हैं। यदि चेक विफल हो जाता है, तो प्रवाह तुरंत दूसरे नोड में भेजा जाता है। यहां तक ​​कि चल रही याचिकाओं को एक और ऑनलाइन नोड पर पुनर्निर्देशित किया गया है। इसे कॉन्फ़िगरेशन में आगे विस्तार से समझाया जाएगा।

रेडिस लोड बैलेंसिंग कॉन्फ़िगरेशन

फार्म स्थापित करने से पहले, हमें एक वर्चुअल आईपी होना चाहिए। उस लक्ष्य को हासिल करने के लिए नेटवर्क> वर्चुअल इंटरफेस। फिर क्लिक करें क्रिया> वर्चुअल इंटरफ़ेस बनाएँ। इसके बाद सेलेक्ट करें जनक इंटरफ़ेस, वर्चुअल इंटरफ़ेस का नाम और उसका आईपी ​​पते:

फिर, Redis वर्चुअल सर्वर के लिए हमें L4xNAT फ़ार्म बनाना होगा। उसके लिए, पर जाएं एलएसएलबी> फार्म, और उसके बाद पर क्लिक करें कार्य और फार्म बनाएँ.

प्रारंभिक पैरामीटर सेट हो जाने के बाद, पर क्लिक करें बनाएं। इसके बाद, पर जाएँ उन्नत टैब और सुनिश्चित करें कि प्रोटोकॉल प्रकार टीसीपी है।

इसके बाद, जाओ सेवा। उन्नत स्वास्थ्य जांच के लिए बैकएंड और फार्म गार्जियन की स्थापना यहां की जाएगी। पहले खोजो backends अनुभाग, और पर क्लिक करें क्रिया> बैकएंड जोड़ें जैसे यह नीचे दिखाया गया है:

रेडिस निगरानी और उन्नत स्वास्थ्य जाँच

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

check_tcp -E -H HOST -p PORT -s 'info replication\r\n' -e role:master -t 3

कहा पे होस्ट और पोर्ट प्रत्येक बैकेंड के रेडिस सर्वर आईपी पते और पोर्ट द्वारा प्रतिस्थापित किया जाएगा। आदेश जानकारी प्रतिकृति रेडिस सर्वर से जानकारी प्राप्त करेगा कि किस मास्टर को जीवित करने के लिए, कनेक्शन केवल सर्वर पर रीडायरेक्ट किया जाएगा यदि रोल मास्टर प्रस्तुत किया जाता है, जैसे ही प्रहरी भूमिका बदलता है तो लोड बैलेंसर परिवर्तन और रेडिस का पता लगाएगा सर्वर को नीचे के रूप में चिह्नित किया जाएगा। झंडा -t फ़ार्म गार्जियन रेडिस सर्वर की प्रतिक्रिया का इंतजार करेगा और उसके बाद यदि कोई प्रतिक्रिया के बिना समय समाप्त हो गया है, तो रेडिस सर्वर को नीचे चिह्नित किया जाएगा। दूसरी ओर, एक बार जब Redis सर्वर स्वास्थ्य बहाल हो जाता है तो यह फिर से ऊपर हो जाएगा।

लेकिन इस विशेष खेत के लिए फार्म गार्जियन को संशोधित करने से पहले, पर जाएं मॉनिटरिंग> फार्मगार्डियन और फिर क्लिक करें क्रिया> फार्मगार्डियन बनाएँ.

अपने नए Redis प्रहरी स्वास्थ्य परीक्षक के लिए एक वर्णनात्मक नाम चुनें, उदाहरण के लिए, check_redis_master उदाहरण के रूप में, अब चुनें check_tcp दायर में नकल करने के लिए फार्मगार्डियन और पर क्लिक करें बनाएं के रूप में नीचे दिखाया गया है.

अंत में, उपर्युक्त कमांड को कॉपी करें आदेश पैरामीटर और नीचे दिखाए अनुसार कॉन्फ़िगरेशन करें।

पर क्लिक करें सब्मिट.

अब, Redis वर्चुअल सेवा में इस नए फ़ार्म गार्जियन उन्नत स्वास्थ्य जांच का चयन करें। वापस जाओ एलएसएलबी> फार्म, नाम से बनाए गए खेत तक RedisFarm, सेवा टैब। अंत में सेलेक्ट करें check_redis_master कमांड के तहत बनाया बैकएंड के लिए स्वास्थ्य जांच.

पर क्लिक करें अपडेट खेत और अब रेडिस पूरी तरह से उपलब्ध होंगे।

संदर्भ

https://redis.io/topics/sentinel
https://redis.io/topics/cluster-tutorial

पर साझा करें:

GNU फ्री डॉक्यूमेंटेशन लाइसेंस की शर्तों के तहत प्रलेखन।

क्या यह लेख सहायक था?

संबंधित आलेख