सबसे पहले, बात पत्रिका बोलने दें।
सेंटीनेल विफलता का प्रबंधन करता है, यह एचए के लिए रेडिस को कॉन्फ़िगर नहीं करता है। यह एक महत्वपूर्ण भेद है। दूसरा, आपके द्वारा पोस्ट किया गया चित्र वास्तव में एक खराब सेटअप है - आप उसी नोड पर सेंटीनेल को चलाने के लिए नहीं चाहते हैं क्योंकि यह रेडिस नोड्स का प्रबंधन कर रहा है। जब आप उस मेजबान को खो देते हैं तो आप दोनों खो देते हैं।
"क्या यह संसाधनों का अपशिष्ट है?" यह आपके उपयोग के मामले पर निर्भर करता है। आपको उस सेटअप में तीन रेडिस नोड्स की आवश्यकता नहीं है, आपको केवल दो की आवश्यकता है। तीन आपकी अनावश्यकता बढ़ाता है, लेकिन इसकी आवश्यकता नहीं है। यदि आपको अतिरिक्त अनावश्यकता की आवश्यकता है तो यह संसाधनों की बर्बादी नहीं है। यदि आपको अनावश्यकता की आवश्यकता नहीं है तो आप केवल एक रेडिस इंस्टेंस चलाएं और इसे अच्छी तरह से कॉल करें - क्योंकि अधिक रनिंग "बर्बाद" होगी।
दो गुलामों को चलाने का एक अन्य कारण पढ़ने को विभाजित करना होगा। दोबारा, अगर आपको इसकी ज़रूरत है तो यह बर्बाद नहीं होगा।
"क्या उपलब्ध संसाधनों का पूर्ण उपयोग करने का कोई बेहतर तरीका है?" हम इसका उत्तर नहीं दे सकते क्योंकि यह आपके विशिष्ट परिदृश्य और कोड पर बहुत निर्भर है। उस ने कहा कि यदि स्टोर करने के लिए डेटा की मात्रा "छोटी" है और कमांड दर बहुत अधिक नहीं है, तो याद रखें कि आपको होस्ट को रेडिस को समर्पित करने की आवश्यकता नहीं है।
अब "रेडिस सेंडिनल के विकल्प को क्लस्टर कर रहा है?"। यह वास्तव में आपके उपयोग के मामले पर पूरी तरह से निर्भर करता है। रेडिस क्लस्टर एक एचए समाधान नहीं है - यह एक एकाधिक लेखक/बड़े-से-राम समाधान है। यदि आपका लक्ष्य सिर्फ एचए है तो यह संभवतः आपके लिए उपयुक्त नहीं होगा।रेडिस क्लस्टर सीमाओं के साथ आता है, खासकर बहु-कुंजी संचालन के आसपास, इसलिए यह जरूरी नहीं है कि "केवल क्लस्टर" ऑपरेशन का सीधा हो।
यदि आपको लगता है कि तीन मेजबान रेडिस (और तीन चलने वाले सेंटीनेल) चल रहे हैं, तो आप क्लस्टर को और भी अधिक होने की संभावना रखते हैं, क्योंकि इसे अधिक संसाधनों की आवश्यकता होती है।
आपके द्वारा पूछे गए प्रश्न शायद लिखे गए हैं और लिखित रूप में जीवित रहने के लिए राय आधारित हैं। यदि आपके पास एक विशिष्ट मामला/समस्या है जो आप काम कर रहे हैं तो कृपया इसके साथ अपडेट करें ताकि हम विशिष्ट सहायता और जानकारी प्रदान कर सकें। विशेष जानकारी के लिए
अद्यतन:
अपने परिदृश्य मैं 3 प्रहरी, अपने JBoss सर्वर पर एक चल रहा है के साथ जाना होगा में उचित विफलता प्रबंधन के लिए। यदि आपके पास 3 जेबॉस नोड्स हैं तो प्रत्येक पर एक के साथ जाएं। मेरे पास अलग-अलग नोड्स पर रेडिस पॉड (मास्टर + गुलाम) होगा, और सेंटीनेल को फेलओवर का प्रबंधन करने दें।
वहां से यह जेबॉस/जेडिस को अपनी जानकारी और कनेक्शन प्रबंधन के लिए सेंटिनल का उपयोग करने के लिए तारों का मामला है। चूंकि मैं उन लोगों का उपयोग नहीं करता हूं, एक त्वरित खोज यह बदलती है कि जेडिस के लिए इसका समर्थन है, आपको बस इसे सही तरीके से कॉन्फ़िगर करने की आवश्यकता है। मुझे मिले कुछ उदाहरण Looking for an example of Jedis with Sentinel और https://github.com/xetorthio/jedis/issues/725 पर हैं जो पूल का उपयोग करने के लिए JedisSentinelPool
के बारे में बात करते हैं।
जब सेंटीनेल एक विफलता निष्पादित करता है तो क्लाइंट डिस्कनेक्ट हो जाएंगे और जेडिस (वर्तमान में) सेंटिनल से पूछे जाने वाले कनेक्शन से पूछे जाने वाले कनेक्शन को संभाल लेंगे।
यह भी मदद कर सकता है - http: // fnordig।डी/2015/06/01/redis-sentinel-and-redis-cluster/ –