2014-04-05 8 views
8

जैसा कि मैंने एएमक्यूपी 0.9.1 को समझा था, मुख्य लाभ यह था कि आप संदेश भेज और प्राप्त कर सकते हैं और ब्रोकर-स्वतंत्र तरीके से अपने एक्सचेंज/बाइंडिंग/कतारों को कॉन्फ़िगर कर सकते हैं, इस प्रकार आप अपने ब्रोकर कार्यान्वयन को बिना सिरदर्द के स्विच करने में सक्षम थे।एएमक्यूपी का क्या मतलब है?

अब, एएमक्यूपी 1.0 केवल वायर-स्तरीय प्रोटोकॉल को परिभाषित करता है, इसलिए आपको अधिकांश संदेश पैटर्न को लागू करने के लिए वास्तव में अपने ब्रोकर विनिर्देशों को जानना होगा।

तो मैं एक संदेश ब्रोकर का पक्ष क्यों दूंगा जो कि एएमक्यूपी पर निर्भर करता है जो कि नहीं है?

यदि ब्रोकर AMQP 1.0 लागू करता है, तो भी मैं ब्रोकर विशिष्ट क्लाइंट कोड के साथ बंद कर रहा हूं। एएमक्यूपी 0.9.1 के साथ, मैं सैद्धांतिक रूप से ब्रोकर स्वतंत्र हूं लेकिन संभवतः खरगोश एमक्यू के साथ समाप्त हो जाएगा, क्योंकि वे एएमक्यूपी 0.9.1 के लिए पूर्ण समर्थन को ईमानदारी से बनाए रखने वाले एकमात्र व्यक्ति हैं।

उत्तर

3

दुर्भाग्यवश, आपकी चिंताओं बहुत मान्य हैं।

Pieter Hintjens has great post on that, दावा करते हुए कि "एएमक्यूपी/1.0 इतिहास में नीचे एक मानक दस्तावेज के उदाहरण के रूप में एक मानक दस्तावेज प्रयास को विफल करने और प्रक्रिया में बहुत से लोगों को चोट पहुंचाने के उदाहरण के रूप में नीचे जाएगा।"

आपके प्रश्न के लिए: "मैं एक संदेश ब्रोकर का पक्ष क्यों दूंगा जो कि एएमक्यूपी पर निर्भर करता है जो नहीं है?" निश्चित रूप से ऐसा नहीं है क्योंकि आपको अपना संदेश ब्रोकर प्रदाता बदलने का विकल्प मिलता है, क्योंकि अब इसकी आवश्यकता नहीं है। केवल दो स्थितियों हैं, मैं AMQP संदेश दलाल पक्ष के बारे में सोच होगा:

1) आप पहले से ही करने के लिए उपयोग किया जाता है और उस दलाल आसानी से उपलब्ध है

2) AMQP अभी भी हो रही ग्राहकों को कई में उपलब्ध का लाभ लाता है प्रोग्रामिंग की भाषाएँ। लेकिन STOMP यहां भी सेवा करेगा।

+0

जबकि जेएमएस जावा प्लेटफार्म के लिए एक मानक संदेश API प्रदान करता है, एएमक्यूपी सभी प्लेटफार्मों में एक मानक संदेश प्रोटोकॉल प्रदान करता है। एएमक्यूपी एक उद्योग मानक एपीआई के लिए एक विनिर्देश प्रदान नहीं करता है। इसके बजाय, यह उद्योग मानक तार-स्तर बाइनरी प्रोटोकॉल के लिए एक विनिर्देश प्रदान करता है ताकि यह वर्णन किया जा सके कि संदेश को संरचित किया जाना चाहिए और नेटवर्क पर भेजा जाना चाहिए। एएमक्यूपी के साथ, हम जो भी एएमक्यूपी-अनुरूप क्लाइंट लाइब्रेरी चाहते हैं और किसी भी एएमक्यूपी-अनुरूप ब्रोकर का उपयोग कर सकते हैं। नतीजतन, एएमक्यूपी का उपयोग कर मैसेजिंग क्लाइंट पूरी तरह से अज्ञेयवादी हैं जिनके लिए एएमक्यूपी क्लाइंट एपीआई या एएमक्यूपी संदेश ब्रोकर हम उपयोग कर रहे हैं। –

+0

@java_geek जबकि आपकी टिप्पणी मूल मंशा के करीब लगता है, यह कुछ स्थानों में सही नहीं प्रतीत होता है। एएमक्यूपी 0.9.1 ने आपके द्वारा वर्णित (क्लाइंट और ब्रोकर कार्यान्वयन का आदान-प्रदान और इंटरऑपरेबिलिटी रखने) की अनुमति दी है, लेकिन 1.0 के साथ यह हमेशा सत्य नहीं होता है, क्योंकि ब्रोकर केवल अपेक्षित चीज़ों को लागू कर सकता है, इसलिए एक ब्रोकर को दूसरे स्थान पर बदलने का विकल्प हमेशा सच नहीं है। –

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