मेरे पास दो लिनक्स सर्वर हैं (A
और B
) PostgreSQL 9.5
डेटाबेस स्थापित के साथ। documentation में वर्णित अनुसार मैंने हॉट स्टैंडबाय मोड कॉन्फ़िगर किया है। इस सेटअप में, A
को हॉट स्टैंडबाय मोड में मास्टर, B
के रूप में कॉन्फ़िगर किया गया है। यह अच्छी तरह से काम कर रहा है और उम्मीद के रूप में व्यवहार करता है।एक जावाईई अनुप्रयोग में PostgreSQL हॉट स्टैंडबाय सेटअप के लिए कनेक्शन विफलता को कॉन्फ़िगर कैसे करें?
अब, मैं इस डेटाबेस सेटअप करने के लिए एक TomEE
डेटा स्रोत के माध्यम से Hibernate
/JDBC
के माध्यम से एक स्वतंत्र Java EE
आवेदन (एक अलग मशीन पर चल) जुड़ना चाहते हैं।
PostgreSQL driver प्रलेखन राज्यों, जो एक से अधिक मेजबान JDBC कनेक्शन URL में निर्दिष्ट किया जा सकता है:
jdbc:postgresql://host1:port1,host2:port2/database
तो मेरी प्रश्न हैं:
- तो
A
नीचे है औरB
सामान्य करने के लिए मैन्युअल रूप से स्विच कर दिया गया ऑपरेशन मोड, क्या मेरा आवेदन अभी भी ऊपर बताए गए एक जेडीबीसी कनेक्शन यूआरएल के साथ डेटाबेस ऑपरेशन के साथ आगे बढ़ने में सक्षम है? - क्या मुझे अन्य पैरामीटर/पुस्तकालयों को कॉन्फ़िगर करना है?
नोट: विभिन्न स्रोतों मुझे पता चला, कि PostgreSQL
स्वत: विफलता का समर्थन नहीं करता (जब तक कि तीसरे पक्ष के सॉफ़्टवेयर की प्रक्रिया में शामिल किया जाता है - नीचे टिप्पणी देखें) से। इस कारण से, फेलओवर को मैन्युअल रूप से करने की आवश्यकता है, जो इस विशेष उपयोग-मामले के लिए ठीक है।
संपादित-1:
मैं pgBouncer
परीक्षण करने के लिए (के रूप में टिप्पणी में सुझाव दिया) एक वैकल्पिक हल के लिए फैसला किया। यह मेरे उपयोग-मामले के लिए अच्छा काम करता है। ,
- लगातार जांच करता है, तो
A
अभी भी जीवित है और आने वाले कनेक्शन के लिए सुनता है: मैं एक प्रहरी स्क्रिप्ट, जो मैनुअल चरणों को स्वचालित लिखा था। - विफलता के मामले में, सामान्य ऑपरेशन मोड में
B
स्विच करें और इसे नया मास्टर बनें और सेवा को पुनरारंभ करें। pgBouncer
A
के बजायB
पर इंगित करने के लिए सेटिंग को बदलें और सेवा को पुनरारंभ करें।
हालांकि, अगर कोई तीसरे पक्ष के सॉफ्टवेयर के बिना अनुभव करता है, तो भी मुझे दिलचस्पी होगी?
सबसे आसान सेटअप दो सर्वर के सामने pgBouncer या pgPool की तरह कुछ रखा है और अपने आवेदन के माध्यम से कनेक्ट करने के लिए है। –
@a_horse_with_no_name आपके संकेत के लिए धन्यवाद। क्या आप अब pgPool (उबंटू रिपॉजिटरीज़ से) स्थापित करने के लिए कोई उपयोगी मार्गदर्शिका है, जिसे आप अनुशंसा करेंगे? – rzo
मेरे पास एक मास्टर के साथ एक समान सेटअप है और एक केवल गर्म स्टैनबी पोस्टग्रेस्क्ल 9.6 सर्वर पढ़ता है। उनके सामने एक pgbouncer चल रहा है। मैं pgbouncer config फ़ाइल की एक पंक्ति को बदलकर आसानी से नए मास्टर पर स्विच कर सकता हूं। मैंने स्वचालित फेलओवर क्लस्टर (कोरोसिनक और पेसमेकर के साथ) के बारे में कागजात पढ़े हैं, लेकिन वे मेरे लिए बहुत जटिल थे। यदि आपको उन्नत लिनक्स सिस्टम प्रशासन के साथ अनुभव है तो आपको उन्हें आजमाएं। http://clusterlabs.org/ –