2016-01-04 13 views
162

टीएल; डीआरएचए के रूप में मौजूदा जेएनडीआई हॉर्नसेट सेवा बनाने के लिए कदम?

हॉर्नैटक सेटअप के साथ एचए-जेएनडीआई सेवा को कॉन्फ़िगर करने के लिए क्या कदम हैं? मेरा मानना ​​है कि दस्तावेज थोड़ा बिखरा हुआ है। मैंने दस्तावेज़ here के माध्यम से पढ़ा है लेकिन विस्तार से चित्रित नहीं लगता है।

अधिक बड़ा संस्करण:

तो हम JNDI के साथ एक HornetQ JMS सेटअप। हमने 5 सर्वर कहा है, जो प्रत्येक पर जेएनडीआई सेवा के साथ हॉर्नैटक जेएमएस मास्टर इंस्टेंस चलाते हैं। इन 5 सर्वरों में से प्रत्येक पर, हमारे पास कुछ अन्य हॉर्नैटक मास्टर के लिए एक गुलाम भी चल रहा है।

इसे समझने के लिए:

Server A - HornetQa_master, JNDI, HornetQb_slave 
Server B - HornetQb_master, JNDI, HornetQc_slave 
Server C - HornetQc_master, JNDI, HornetQd_slave 
Server D - HornetQd_master, JNDI, HornetQe_slave 
Server E - HornetQe_master, JNDI, HornetQa_slave 
इन HornetQ सर्वर हमारे विभिन्न बैकएंड जरूरतों के लिए मध्यस्थ के रूप में सेवा की

प्रत्येक, ताकि 5 सर्वर, 5 HornetQ मास्टर उदाहरणों, 5 HornetQ गुलाम उदाहरणों और 5 JNDI सर्वर का मतलब है। हालांकि, समस्या यह इस सेटअप के साथ कि अगर एक सर्वर होस्ट (न केवल प्रक्रिया, मेजबान खुद) का कहना है कि एक नीचे चला जाता है, आदर्श सेवा HornetQ सर्वर ई को होस्ट करने के लिए एक के HornetQ दास पर चल रहा है पर वापस आने चाहिए। हालांकि, हॉर्नसेटक मास्टर के रूप में फिर से शुरू करने के लिए, HornetQa_slave को सर्वर ए पर चलने वाली जेएनडीआई प्रक्रिया से बात करने की आवश्यकता है (मुझे संदेश दोहराने का अनुमान है)। चूंकि मेजबान एक ही नीचे है, HornetQa_slave ई पर चल रहे एक पर JNDI से बात करने का कोई तरीका नहीं है, और इस प्रकार, मास्टर प्रक्रिया के रूप में फिर से शुरू नहीं कर सकते हैं।

था JNDI सेवा किया गया अत्यधिक उपलब्ध, गुलाम HornetQ प्रक्रिया अपेक्षा के अनुरूप मास्टर के रूप में फिर से शुरू कर सकता है। क्या कोई भी कृपया दस्तावेज़ों को इंगित कर सकता है या सरल चरणों में चित्रित कर सकता है कि हम अपने मौजूदा सेटअप को एचए-जेएनडीआई में कैसे परिवर्तित कर सकते हैं? इसके लायक होने के लिए, मैंने कई sources पढ़ा है, लेकिन ऐसा लगता है कि एचए-जेएनडीआई को कॉन्फ़िगर करने के तरीके के बारे में बहुत विस्तार से यह स्पष्ट नहीं होता है। अगर आपको हमारे वर्तमान सेटअप के बारे में अधिक जानकारी चाहिए तो कृपया मुझे बताएं।

धन्यवाद

+7

आपके ग्राहक कहां चल रहे हैं? क्या वे एक ही AS इंस्टेंस या किसी अन्य इंस्टेंस/JVM, या दोनों पर चल रहे हैं? – jjhavokk

+2

@jjhavokk वे एक और JVM – gravetii

+3

पर चल रहे होंगे क्या आप उच्च उपलब्धता मोड (सक्रिय - निष्क्रिय प्रतिकृति) में हॉर्नेटक सक्षम कर सकते हैं? युगल कि सर्वर गतिशील खोज के साथ और आपको विश्वसनीय फॉलबैक होना चाहिए। Http://docs.jboss.org/hornetq/2.4.0.Final/docs/user-manual/html/ha.html और http://docs.jboss.org/hornetq/2.4.0.Final देखें /docs/user-manual/html/clusters.html – diginoise

उत्तर

0
वास्तुकला के साथ

वर्णित यह मेरे लिए मुश्किल लगता है, क्योंकि वास्तव में आप मास्टर के रूप में गुलाम पुन: कॉन्फ़िगर करने की जरूरत है और फिर आप एक निश्चित आउटेज होगा।

HornetQ हा एक जीवित-बैकअप जोड़ी और लोड संतुलन है एक क्लस्टर के माध्यम से प्रदान के माध्यम से प्रदान की जाती है।

तुम दोनों हा और चाहते हैं लोड संतुलन तो आप एक समूह 2 लिव-बैकअप जोड़े की आवश्यकता होगी।

स्रोत: https://developer.jboss.org/thread/254232

आप होस्ट नाम से गुरु नहीं संदर्भ लेकिन एक वर्चुअल IP पते का उपयोग कर, इसलिए मामले में मास्टर नीचे है, आप गुरु के रूप में दास से एक पुनः कॉन्फ़िगर कर सकते कर सकते हैं, और वर्चुअल आईपी शुरू करें ताकि आपको बाकी दासों को फिर से कॉन्फ़िगर न करना पड़े। (मास्टर को नीचे होने पर भी एचए रखने के लिए, आप 2 दास रखना चाहते हैं, ताकि आप उनमें से एक को मास्टर के रूप में पुनरारंभ कर सकें और फिर भी कोई चल रहा हो)।

एक और तरीका है एक ही परिणाम प्राप्त करने के लिए एक DNS होस्ट नाम मास्टर है कि आप अगर एक मेजबान नीचे है एक अलग आईपी को इंगित करने के लिए पुनः कॉन्फ़िगर कर सकते विशिष्ट के साथ है। चूंकि DNS को कैश किया गया है, इसलिए यह प्रविष्टियां 'होस्ट' फ़ाइल में बेहतर होनी चाहिए।

तो HA-डोमेन प्रति 3 मेजबान बहुत ज्यादा हार्डवेयर है, आप और अधिक हार्डवेयर की खरीद करने की आवश्यकता के बिना वर्चुअल सर्वर के साथ इस आसान पूरा कर सकते हैं।

संबंधित मुद्दे