चूंकि यह बिनलॉग के माध्यम से डिस्क पर लिख रहा है, मुझे लगता है कि आप कुछ ऐसा कर सकते हैं जो MySQL के आमतौर पर करते हैं: दिल की धड़कनें w / DRBD ( उदाहरण यहाँ)।
पिछली बार जब मैंने दिल की धड़कन का उपयोग करने की कोशिश की थी, तो यह नोड्स के बीच गैर-मल्टीकास्ट चेकिंग का समर्थन नहीं करता था, जिसका अर्थ है कि क्लाउड / वीपीएस इंफ्रास्ट्रक्चर (एडब्ल्यूएस, लाइनोड, स्लाइसहोस्ट, आदि) पर चलना कम या ज्यादा असंभव था। वास्तव में, अधिकांश क्लस्टरिंग सेवाएं मल्टीकास्ट का उपयोग करती हैं। यह अब मामला नहीं हो सकता है, लेकिन इसके बारे में पता होना चाहिए। आप आईपी-आधारित फेलओवर प्रदान करने के लिए रखवाले का उपयोग करने में सक्षम हो सकते हैं , जो केवल मल्टीकास्ट बीईटी का समर्थन करता है, जिसमें विली तरारेयू (एचएप्रॉक्सी के लेखक ) के माध्यम से एकतरफा समर्थन जोड़ने के लिए एक पैच उपलब्ध है । मैंने व्यक्तिगत रूप से लाइनोड वीपीएस सर्वर की एक जोड़ी पर इसका परीक्षण किया है और मास्टर सर्वर के विफल होने की स्थिति में एक साझा आईपी पते को विफल करने में सक्षम रखा गया है।
एक चीज जो आप कर सकते हैं वह शायद कम इष्टतम है बीनस्टॉकड सर्वर (उर्फ विभाजन) के कई कामों को लिखना। यदि उनमें से एक नीचे चला जाता है, तो अपने ऐप को इसका पता लगाएं और इसके बजाय अन्य उदाहरणों के लिए लिखें। आपके कार्यकर्ताओं को प्रत्येक बीनस्टॉक उदाहरणों को समझदारी से मतदान करना होगा और मृत उदाहरणों को अनदेखा करने में सक्षम होना चाहिए। चूँकि आप बिनॉलॉगिंग कर रहे हैं, उदाहरण के लिए इसे फिर से शुरू करना उतना ही आसान होना चाहिए, जितना कि ऐप / कर्मी इसे पता लगाएंगे और हमेशा की तरह जारी रहेंगे (और नए-नए उदाहरणों में नौकरियों को संसाधित करना शुरू करेंगे)। मैं स्पष्ट रूप से प्रक्रिया को सरल बना रहा हूं, लेकिन इसे संभालने का एक और तरीका है।