गारंटी करने के लिए मैं (मेरे मामले में स्प्रिंग) के बहुत लगता है JMS का उपयोग कर आवेदन पत्र इस वर्कफ़्लो का पालन हो सकता है:कैसे JMS विश्वसनीय वितरण
Database A ===> Producer ===> JMS Queue ===> Consumer ===> Database B
तो विश्वसनीयता चिंता का विषय है। आइए मान लें कि Database A
में डेटा रिकॉर्ड हमेशा delivered
के रूप में चिह्नित किया जाना चाहिए, जब संदेश में डेटा रिकॉर्ड सचमुच उपभोग होता है और Database B
में डेटा को जारी रखता है। तो फिर वहाँ सवाल कर रहे हैं:
मेरी जानकारी से, वर्तमान में JMS प्रोटोकॉल
consumer
सेproducer
को पावती भेजने के लिए किसी भी कार्यों को परिभाषित नहीं करता, लेकिन केवल करने के लिएMOM
है, इसलिए वास्तविकconsumer-to-producer
पावती तरीकों JMS प्रदाता के अनुसार अलग। तो क्या इसका मतलब यह है कि ऐसी स्वीकृति के लिए एक तंत्र विकसित करने का कोई तरीका नहीं है जो आम तौर पर सभी जेएमएस उत्पादों (एक्टिवएमक्यू, वेबस्पियर एमक्यू और जेबॉस एमक्यू) के लिए काम कर सकता है?ब्लैकआउट के परिदृश्य पर विचार करें, तो क्या यह कतार में संदेशों को केवल वाष्पित कर देता है ताकि पुनः भेजने की आवश्यकता हो? या विभिन्न जेएमएस उत्पादों को छोड़ दिया जा सकता है, क्योंकि संदेश सीरियलाइज्ड हैं, ताकि लापता संदेश केवल लेनदेन प्रबंधन या एसिंक/सिंक कॉन्फ़िगरेशन के कारण हो सकता है लेकिन एप्लिकेशन सर्वर की वजह से नहीं है?
धन्यवाद देख सकते हैं में । तो मुझे लगता है कि 'ब्लैकआउट' सहिष्णुता अनुप्रयोग सर्वर (वेबस्पेयर, वेबलोगिक, जेबॉस ...) द्वारा प्रदान की जाती है, ActiveMQ के बारे में कैसे है ताकि एप्लिकेशन अपने आप से विश्वसनीय हो सके? – Dreamer
मुझे लगता है कि आप दृढ़ता अनुभाग (http://activemq.apache.org/persistence.html) पर ActiveMQ दस्तावेज़ों पर जांच सकते हैं। संस्करण 4.1 के बाद से आप डिस्क या डेटाबेस का उपयोग कर दृढ़ता सुविधा सेट कर सकते हैं। मैंने इस कतार प्रबंधक पर कभी भी उपयोग नहीं किया, लेकिन मुझे पता है कि यह संभव है। :) – dansouza
त्वरित प्रतिक्रिया के लिए धन्यवाद। मुझे अधिक राय आमंत्रित करने के लिए कुछ समय के लिए प्रश्न खोलना है, लेकिन आपका विचार कीमती है :) – Dreamer