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