2013-07-18 4 views
5

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

उत्तर

4

आप टिकाऊ कतार लेकिन "प्राणघातक" संदेश प्राप्त कर सकते हैं, इसलिए ब्रोकर पुनरारंभ करने के बाद भी आप कतार प्राप्त कर सकते हैं लेकिन यह खाली होगा और इसके विपरीत, लेकिन जैसा कि आप उदास हैं, हाँ, आप कतार में सभी संदेश खो देंगे।

आपके द्वारा प्रदान किए गए संयोजन में संदेश दृढ़ता विकल्प वास्तव में बेकार है लेकिन कोई त्रुटि नहीं होगी।

लेकिन यदि आप alternate exchange को बाध्य करते हैं तो आप संदेश प्रकाशित कर रहे हैं और यह टिकाऊ है, फिर से शुरू करने के बाद, यदि आप क्षणिक कतार घोषित नहीं करते हैं तो आप इसे संदेश भेज सकते हैं।

उदाहरण: - M*2

मान लें हम इस तरह के संयोजन और ठीक से बाध्य कतार है, Q*1 संदेशों M*1 और Q*2 प्राप्त करते हैं।

[ Exchange-main/durable ] + [Exchange-alternate/durable] 
[Qm1/transient][Qm2/transient] [Qax1/durable][Qax2/durable] 

के सन्देश को प्रकाशित करते हैं [Mt1/transient] और `[md1/टिकाऊ], हम ऐसी स्थिति मिल जाएगा:

[ Exchange-main/durable ] + [Exchange-alternate/durable] 
[Qm1/transient][Qm2/transient] [Qax1/durable][Qax2/durable] 
[Mt1/transient] 
[Md1/durable] 

पुनः आरंभ करने के बाद हम

[ Exchange-main/durable ] + [Exchange-alternate/durable] 
           [Qax1/durable][Qax2/durable] 

के दो सन्देश को प्रकाशित करते हैं मिल जाएगा दोबारा, [Mt1/transient] और `[एमडी 1/टिकाऊ]:

[ Exchange-main/durable ] + [Exchange-alternate/durable] 
           [Qax1/durable][Qax2/durable] 
           [Mt1/transient] 
           [Md1/durable] 

तो, पुनः आरंभ दलाल फिर से:

[ Exchange-main/durable ] + [Exchange-alternate/durable] 
           [Qax1/durable][Qax2/durable] 
           [Md1/durable] 
+0

तो जब इसके विपरीत स्थिति में हम "नश्वर" कतारों और लगातार संदेश, पुनः प्रारंभ करने पर हम कोई कतार लेकिन संदेशों कि कोई और अधिक करने के लिए पहले से सौंपा गया साथ खत्म हो जाएगा मौजूदा कतार, क्या इसका मतलब है कि हमारे पास संदेश लटक रहे हैं? – ahj

+0

संदेश खो जाएंगे। उदाहरण के साथ मैंने अपना जवाब अपडेट किया, आशा है, इससे मदद मिलेगी। – pinepain

+0

@ पाइनपेन: परिभाषित करें "संदेश खो जाएंगे।" क्या इसका मतलब यह है कि डिस्क से संदेशों को हटा दिया गया है, या वे अभी भी डिस्क पर हैं लेकिन अनाथ हैं क्योंकि RabbitMQ अब नहीं जानता कि वे कहां हैं? – Ellesedil

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