आप इसे प्राप्त करने के लिए Redis Sentinel को आज़माना चाह सकते हैं:
<ब्लॉककोट>Redis Sentinel एक प्रणाली है जिसे Redis उदाहरणों को प्रबंधित करने में मदद करने के लिए डिज़ाइन किया गया है। यह निम्नलिखित तीन कार्य करता है:
-
निगरानी . प्रहरी लगातार जाँचते हैं कि क्या आपके स्वामी और दास उदाहरण अपेक्षा के अनुरूप काम कर रहे हैं।
-
सूचना . सेंटिनल एक एपीआई के माध्यम से सिस्टम व्यवस्थापक या किसी अन्य कंप्यूटर प्रोग्राम को सूचित कर सकता है कि मॉनिटर किए गए रेडिस उदाहरणों में से एक में कुछ गड़बड़ है।
-
स्वचालित विफलता . यदि कोई मास्टर अपेक्षित रूप से काम नहीं कर रहा है, तो सेंटिनल एक विफलता प्रक्रिया शुरू कर सकता है जहां एक दास को मास्टर के रूप में पदोन्नत किया जाता है, अन्य अतिरिक्त दासों को नए मास्टर का उपयोग करने के लिए पुन:कॉन्फ़िगर किया जाता है, और रेडिस सर्वर का उपयोग करने वाले एप्लिकेशन को कनेक्ट करते समय उपयोग करने के लिए नए पते के बारे में सूचित किया जाता है।पी>
... या ज़ूकीपर और जेडिस_फेलओवर जैसे बाहरी समाधान का उपयोग करने के लिए:
JedisPool pool = new JedisPoolBuilder()
.withFailoverConfiguration(
"localhost:2838", // ZooKeeper cluster URL
Arrays.asList( // List of redis servers
new HostConfiguration("localhost", 7000),
new HostConfiguration("localhost", 7001)))
.build();
pool.withJedis(new JedisFunction() {
@Override
public void execute(final JedisActions jedis) throws Exception {
jedis.ping();
}
});
ज़ूकीपर + रेडिस की यह प्रस्तुति देखें।
[अपडेट] ... या जेडिस + सेंटिनल के साथ एक शुद्ध जावा समाधान एक रैपर का उपयोग करना है जो रेडिस सेंटिनल घटनाओं को संभालता है, देखें SentinelBasedJedisPoolWrapper।