उच्च उपलब्धता के लिए रिप्लेक्टिंग बीनस्टलक


15

शीर्षक यह सब कहता है।

क्या किसी को बीनस्टॉक को दोहराने का एक तरीका पता है जैसे कि अगर एक बीनस्टॉक सर्वर नीचे चला गया, तो अन्य गुलामों को ले सकते हैं?

यहां एक दृष्टिकोण है जिसके बारे में मैंने सोचा था: मैं बीनस्टॉक को अपना बिनलॉग (-b के साथ) एक साझा स्थान पर लिख सकता हूं, और फिर किसी भी तरह से एक माध्यमिक / बैकअप सर्वर शुरू होता है बीनस्टॉक यदि प्राथमिक विफल रहता है।

हालांकि एक बेहतर तरीका होना चाहिए।

जवाबों:


5

चूंकि यह बिनलॉग के माध्यम से डिस्क पर लिख रहा है, मुझे लगता है कि आप कुछ ऐसा कर सकते हैं जो MySQL के आमतौर पर करते हैं: दिल की धड़कनें w / DRBD ( उदाहरण यहाँ)।

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

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


1
Corosync यूनिकस्ट का समर्थन करता है और रेडहैट-आधारित डिस्ट्रोस में डिफ़ॉल्ट क्लस्टरिंग टूल है।
टेरेंस जॉनसन

धन्यवाद, Corosync के बारे में पता नहीं था। भविष्य की परियोजनाओं के लिए इसे ध्यान में रखेगा।
एंड्रयू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.