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

एएमक्यूपी का संक्षिप्त इतिहास
एएमक्यूपी मैसेजिंग मिडलवेयर के लिए एक मानकीकृत, खुले और इंटरऑपरेबल प्रोटोकॉल की आवश्यकता से उभरा। इसका विकास 2003 में शुरू हुआ जब लंदन में जेपी मॉर्गन चेज़ में जॉन ओ'हारा ने एप्लिकेशन एकीकरण के लिए मालिकाना मैसेजिंग सिस्टम का उपयोग करने की सीमाओं और लागतों को पहचाना। लक्ष्य विभिन्न प्लेटफार्मों और प्रौद्योगिकियों पर संदेश-उन्मुख संचार की सुविधा के लिए एक प्रोटोकॉल बनाना था, जिससे विशिष्ट विक्रेताओं और मालिकाना प्रणालियों पर निर्भरता कम हो सके। AMQP का पहला आधिकारिक संस्करण, AMQP 0-9-1, 2006 में जारी किया गया था।
अक्टूबर 1.0 में एएमक्यूपी 2011 की रिलीज एक महत्वपूर्ण मील का पत्थर साबित हुई। AMQP 1.0 ने प्रोटोकॉल को और अधिक बनाते हुए बड़े बदलाव पेश किए flexभाषा-अज्ञेयवादी बाइनरी वायर-स्तरीय प्रोटोकॉल को परिभाषित करके सक्षम और इंटरऑपरेबल जिसे किसी भी प्लेटफ़ॉर्म पर लागू किया जा सकता है। एएमक्यूपी के इस संस्करण को व्यापक उद्योग समर्थन प्राप्त हुआ और 2014 में अंतर्राष्ट्रीय मानकीकरण संगठन (आईएसओ) और अंतर्राष्ट्रीय इलेक्ट्रोटेक्निकल कमीशन (आईईसी) द्वारा आईएसओ/आईईसी 19464 के रूप में एक अंतरराष्ट्रीय मानक के रूप में अनुमोदित किया गया।
तब से, एएमक्यूपी को वित्तीय सेवाओं से लेकर विभिन्न अनुप्रयोगों के लिए विश्व स्तर पर अपनाया गया है IoT (इंटरनेट ऑफ थिंग्स) और cloud कंप्यूटिंग.
एएमक्यूपी कैसे काम करता है?
एएमक्यूपी (उन्नत संदेश कतारबद्ध प्रोटोकॉल) एक सावधानीपूर्वक डिजाइन किए गए ढांचे के माध्यम से संचालित होता है जो उत्पादकों और उपभोक्ताओं के बीच विश्वसनीय, सुरक्षित और कुशल तरीके से संदेशों के प्रवाह को व्यवस्थित करता है।
इसके मूल में, प्रोटोकॉल एक ब्रोकर-आधारित आर्किटेक्चर को नियोजित करता है जो मध्यस्थ के रूप में कार्य करता है, मैसेजिंग सिस्टम के भीतर संचार पथों का प्रबंधन करता है। निर्माता ब्रोकर को संदेश भेजते हैं, जिसमें न केवल सामग्री बल्कि महत्वपूर्ण सामग्री भी निर्दिष्ट होती है मेटाडेटा, जैसे रूटिंग कुंजियाँ और संदेश प्राथमिकताएँ। यह ब्रोकर इन संदेशों को संसाधित करने और स्थापित रूटिंग लॉजिक के आधार पर उनके उचित गंतव्यों का निर्धारण करने की जिम्मेदारी लेता है।
एएमक्यूपी के भीतर संदेश रूटिंग को एक्सचेंजों द्वारा सुगम बनाया जाता है, जो संदेशों को वर्गीकृत करता है और उन्हें पूर्वनिर्धारित नियमों और उपयोग किए गए एक्सचेंज के प्रकार के आधार पर सही कतारों में निर्देशित करता है। यह सेटअप विभिन्न प्रकार के मैसेजिंग पैटर्न की अनुमति देता है, सरल पॉइंट-टू-पॉइंट मैसेजिंग से लेकर अधिक जटिल प्रकाशन-सदस्यता मॉडल तक। कतारें संदेशों को अस्थायी रूप से संग्रहीत करती हैं, यह सुनिश्चित करते हुए कि उन्हें तब तक सुरक्षित रखा जाए जब तक उपभोक्ता उन्हें संसाधित करने के लिए तैयार न हो जाए। एक संदेश प्राप्त होने पर, उपभोक्ता इसके प्रसंस्करण को स्वीकार कर सकते हैं, ब्रोकर को संदेश को कतार से हटाने के लिए संकेत दे सकते हैं, जिससे संदेश वितरण की अखंडता और सुव्यवस्थितता बनी रहती है।
एएमक्यूपी के घटकों के बीच यह परिष्कृत इंटरैक्शन यह सुनिश्चित करता है कि संदेश न केवल कुशलतापूर्वक वितरित किए जाएं बल्कि उच्च स्तर की विश्वसनीयता और सुरक्षा के साथ भी वितरित किए जाएं। प्रोटोकॉल संदेश पावती, लेनदेन और टिकाऊ संदेश जैसी उन्नत सुविधाओं का समर्थन करता है, जो गारंटीकृत संदेश वितरण और सिस्टम विफलताओं से उबरने की क्षमता की आवश्यकता वाले अनुप्रयोगों के लिए आवश्यक हैं। इसके अलावा, एसएएसएल सहित एएमक्यूपी के सुरक्षा तंत्र प्रमाणीकरण और टीएलएस के लिए पारगमन में डेटा एन्क्रिप्ट करना.
एएमक्यूपी घटक
एएमक्यूपी मुख्य घटकों के एक सेट के माध्यम से जटिल संदेश भेजने की सुविधा प्रदान करता है जो संरचित तरीके से बातचीत करते हैं। ये घटक एएमक्यूपी आर्किटेक्चर के लिए मौलिक हैं, जो इसे विभिन्न प्रकार के मैसेजिंग पैटर्न का समर्थन करने की अनुमति देते हैं। यहां इन प्रमुख घटकों की एक सूची और स्पष्टीकरण दिया गया है:
- दलाल। ब्रोकर संदेश उत्पादकों (प्रेषकों) और उपभोक्ताओं (प्राप्तकर्ताओं) के बीच मध्यस्थ के रूप में कार्य करता है। यह उत्पादकों से संदेश प्राप्त करने, उन्हें उचित रूप से रूट करने और उन्हें इच्छित उपभोक्ताओं तक पहुंचाने के लिए जिम्मेदार है। ब्रोकर यह सुनिश्चित करता है कि संदेशों को कुशलतापूर्वक संग्रहीत, प्रबंधित और अग्रेषित किया जाए, जिससे मैसेजिंग सिस्टम को विश्वसनीयता और स्केलेबिलिटी प्रदान की जा सके।
- निर्माता। निर्माता, जिसे प्रकाशक के रूप में भी जाना जाता है, एक एप्लिकेशन या सेवा है जो संदेश भेजता है। निर्माता संदेश बनाते हैं और उन्हें ब्रोकर के भीतर एक एक्सचेंज को भेजते हैं, अक्सर उन विशिष्ट उपभोक्ताओं को जाने बिना जो संदेश प्राप्त करेंगे। यह सिस्टम के भेजने और प्राप्त करने वाले हिस्सों को अलग करता है, बढ़ाता है flexयोग्यता और मापनीयता.
- उपभोक्ता। उपभोक्ता एक एप्लिकेशन या सेवा है जो संदेश प्राप्त करता है। उपभोक्ता ब्रोकर के भीतर एक कतार की सदस्यता लेते हैं और संदेश आते ही उन्हें संसाधित करते हैं। एक बार संसाधित होने के बाद उपभोक्ता संदेशों को स्वीकार कर सकते हैं, जो ब्रोकर को सूचित करता है कि संदेश को कतार से सुरक्षित रूप से हटाया जा सकता है।
- एक्सचेंज। एक्सचेंज एएमक्यूपी इकाइयां हैं जहां निर्माता संदेश भेजते हैं। एक एक्सचेंज संदेश की रूटिंग कुंजी, एक्सचेंज प्रकार और बाइंडिंग के आधार पर संदेशों को एक या अधिक कतारों में प्राप्त करता है और रूट करता है। एक्सचेंज उत्पादकों को कतारों से अलग कर देता है, जिससे अधिक जटिल रूटिंग लॉजिक सक्षम हो जाता है। एक्सचेंज कई प्रकार के होते हैं, जिनमें शामिल हैं:
- प्रत्यक्ष विनिमय. मिलान वाली रूटिंग कुंजी के आधार पर संदेशों को कतारों में रूट करता है।
- फैनआउट एक्सचेंज. रूटिंग कुंजियों पर विचार किए बिना सभी बाध्य कतारों में संदेश प्रसारित करता है।
- विषय विनिमय. रूटिंग कुंजी और बाइंडिंग में निर्दिष्ट रूटिंग पैटर्न के बीच वाइल्डकार्ड मिलान के आधार पर संदेशों को कतारों में रूट करता है।
- हेडर एक्सचेंज. संदेशों को रूटिंग कुंजियों के बजाय मेल खाने वाले हेडर मानों के आधार पर रूट करता है।
- पंक्ति। कतार एक बफ़र है जो संदेशों को तब तक संग्रहीत करता है जब तक उन्हें उपभोक्ता द्वारा सुरक्षित रूप से संसाधित नहीं किया जा सकता। कतारें यह सुनिश्चित करती हैं कि उपभोक्ताओं को संदेश पहले आओ, पहले पाओ के क्रम में वितरित किए जाएं, हालांकि प्राथमिकताएं निर्धारित की जा सकती हैं। उपभोक्ता संदेश प्राप्त करने के लिए कतारों की सदस्यता लेते हैं।
- बंधन. बाइंडिंग ऐसे नियम हैं जो कतारों को एक्सचेंजों से जोड़ते हैं। बाइंडिंग में एक रूटिंग कुंजी या पैटर्न शामिल हो सकता है जो यह तय करता है कि संदेशों को एक्सचेंज से कतार तक कैसे रूट किया जाना चाहिए। बाइंडिंग एक्सचेंजों और कतारों के बीच संबंध निर्धारित करती है, यह नियंत्रित करती है कि ब्रोकर के भीतर संदेशों को कैसे फ़िल्टर और रूट किया जाता है।
- रूटिंग कुंजी. रूटिंग कुंजी एक लेबल या पहचानकर्ता है जिसे निर्माता किसी एक्सचेंज में भेजे जाने पर संदेशों से जोड़ते हैं। रूटिंग कुंजी के मान का उपयोग एक्सचेंज द्वारा बाइंडिंग कॉन्फ़िगरेशन के साथ मिलकर यह निर्धारित करने के लिए किया जाता है कि किन कतारों को संदेश प्राप्त होना चाहिए।
- संदेश। संदेश निर्माता और उपभोक्ता के बीच पहुंचाया गया डेटा है। इसमें एक पेलोड (संचारित किया जाने वाला वास्तविक डेटा) और हेडर या गुण (संदेश के बारे में मेटाडेटा, जैसे इसका प्रकार, प्राथमिकता और वितरण मोड) शामिल हैं।
- चैनल। एक चैनल भौतिक नेटवर्क कनेक्शन के अंदर एक आभासी कनेक्शन है। चैनल अधिक कुशल संचार के लिए एएमक्यूपी क्लाइंट (निर्माता/उपभोक्ता) और ब्रोकर के बीच नेटवर्क कनेक्शन को मल्टीप्लेक्स करने में मदद करते हैं।
- वर्चुअल होस्ट (vHost)। एक वर्चुअल होस्ट उसी AMQP ब्रोकर का उपयोग करके एप्लिकेशन को अलग करने का एक तरीका प्रदान करता है। प्रत्येक वर्चुअल होस्ट के पास एक्सचेंजों, कतारों और बाइंडिंग का अपना स्वतंत्र सेट हो सकता है।
एएमक्यूपी उपयोग के मामले
एएमक्यूपी एक बहुमुखी मैसेजिंग प्रोटोकॉल है जो विभिन्न उद्योगों और अनुप्रयोगों में उपयोग के मामलों की एक विस्तृत श्रृंखला का समर्थन करता है। संदेश कतार, रूटिंग, विश्वसनीयता और सुरक्षा सहित इसका मजबूत फीचर सेट इसे जटिल, वितरित और स्केलेबल सिस्टम के लिए उपयुक्त बनाता है। यहां AMQP के लिए कुछ प्रमुख उपयोग के मामले दिए गए हैं:
- एंटरप्राइज़ अनुप्रयोग एकीकरण. एएमक्यूपी एंटरप्राइज़ एप्लिकेशन, सिस्टम और को सक्षम बनाता है डेटाबेस विश्वसनीय और सुरक्षित तरीके से डेटा का संचार और आदान-प्रदान करना। यह विशेष रूप से विषम वातावरणों में उपयोगी है जहां एप्लिकेशन विभिन्न प्लेटफार्मों और प्रौद्योगिकियों पर बनाए जाते हैं जिन्हें एक साथ मिलकर काम करने की आवश्यकता होती है।
- वियुग्मित प्रणालियाँ। In माइक्रोसर्विसेज आर्किटेक्चर या सेवा-उन्मुख आर्किटेक्चर (एसओए) को लागू करते समय, एएमक्यूपी सेवाओं को एक-दूसरे से कसकर जुड़े बिना संचार करने की अनुमति देता है। यह डिकॉउलिंग सिस्टम की स्केलेबिलिटी और लचीलेपन को बढ़ाता है, क्योंकि सेवाओं को स्वतंत्र रूप से विकसित, तैनात और स्केल किया जा सकता है।
- वास्तविक समय डेटा प्रोसेसिंग। एएमक्यूपी का उपयोग आवश्यक परिदृश्यों में किया जाता है वास्तविक समय डाटा प्रसंस्करण, जैसे स्ट्रीमिंग एनालिटिक्स, जहां डेटा को तुरंत एकत्र, संसाधित और विश्लेषण करने की आवश्यकता होती है। प्रोटोकॉल नेटवर्क विफलताओं या प्रसंस्करण विलंब के दौरान भी संदेशों की विश्वसनीय डिलीवरी सुनिश्चित करता है।
- भार का संतुलन। एएमक्यूपी कई कार्यकर्ता प्रक्रियाओं या सेवाओं के बीच कार्यों या कार्यभार को वितरित कर सकता है, जिससे मदद मिल सकती है भार को संतुलित करें और सिस्टम की समग्र दक्षता और जवाबदेही में सुधार होगा। यह सुविधा विशेष रूप से उपयोगी है cloud अप्रत्याशित कार्यभार के साथ कंप्यूटिंग और वितरित कंप्यूटिंग वातावरण।
- अतुल्यकालिक संचार। एएमक्यूपी अतुल्यकालिक संचार पैटर्न का समर्थन करता है, जिससे एप्लिकेशन को संचालन को अवरुद्ध किए बिना संदेश भेजने और प्राप्त करने की अनुमति मिलती है। इस प्रकार का संचार उन अनुप्रयोगों के लिए महत्वपूर्ण है जिनके लिए उच्च थ्रूपुट और कम विलंबता की आवश्यकता होती है, क्योंकि यह उन्हें संदेशों की प्रतीक्षा करते समय उत्तरदायी बने रहने में सक्षम बनाता है।
- इंटरनेट ऑफ थिंग्स (IoT)। IoT अनुप्रयोगों में, AMQP का उपयोग विभिन्न सेंसरों और उपकरणों से डेटा एकत्र करने और इसे प्रोसेसिंग सिस्टम में संचारित करने के लिए किया जाता है cloud सेवाएँ। सीमित नेटवर्क पर काम करने की इसकी क्षमता और इसकी सुरक्षित, विश्वसनीय मैसेजिंग इसे IoT परिदृश्यों के लिए एक उत्कृष्ट विकल्प बनाती है।
- वित्तीय सेवाएं। एएमक्यूपी का उपयोग वित्तीय उद्योग में लेनदेन प्रसंस्करण, वास्तविक समय व्यापार प्रणाली और भुगतान प्रसंस्करण के लिए किया जाता है। लेन-देन संबंधी संदेश के लिए इसकी विश्वसनीयता और समर्थन वित्तीय लेनदेन की अखंडता और निरंतरता सुनिश्चित करता है।
- सूचनाएं और अलर्ट। एएमक्यूपी का उपयोग अधिसूचना प्रणालियों को लागू करने के लिए किया जा सकता है, जहां विशिष्ट घटनाओं या स्थितियों के जवाब में उपयोगकर्ताओं या सिस्टम को अलर्ट, सूचनाएं या ईमेल भेजे जाते हैं। इसका विश्वसनीय मैसेजिंग यह गारंटी देता है कि प्राप्तकर्ता अस्थायी रूप से अनुपलब्ध होने पर भी सूचनाएं वितरित की जाती हैं।
- स्वास्थ्य देखभाल। स्वास्थ्य देखभाल में, एएमक्यूपी विभिन्न प्रणालियों, जैसे रोगी रिकॉर्ड, बिलिंग और नैदानिक उपकरण के बीच सुरक्षित और विश्वसनीय संचार सक्षम बनाता है। यह सुनिश्चित करता है कि संवेदनशील डेटा को नियमों के अनुपालन में सुरक्षित रूप से प्रसारित और संसाधित किया जाता है।
एएमक्यूपी बनाम एमक्यूटीटी
एएमक्यूपी और एमक्यूटीटी (मैसेज क्यूइंग टेलीमेट्री ट्रांसपोर्ट) दोनों प्रोटोकॉल संदेश-उन्मुख मिडलवेयर के लिए डिज़ाइन किए गए हैं, लेकिन वे अलग-अलग उद्देश्यों की पूर्ति करते हैं और विभिन्न उपयोग के मामलों के लिए अनुकूलित हैं।
एएमक्यूपी एक अधिक सुविधा संपन्न प्रोटोकॉल है, जो संदेश कतार, रूटिंग, लेनदेन प्रबंधन और सुरक्षा सहित संदेश सुविधाओं की एक विस्तृत श्रृंखला प्रदान करता है। इसका मॉडल स्वाभाविक रूप से अधिक जटिल है और flexसक्षम, उन प्रणालियों के लिए मजबूती प्रदान करता है जिन्हें विभिन्न प्लेटफार्मों पर मैसेजिंग व्यवहार और एकीकरण पर सटीक नियंत्रण की आवश्यकता होती है।
दूसरी ओर, एमक्यूटीटी को सरल और हल्का बनाया गया है। यह प्रोटोकॉल एक प्रकाशन-सदस्यता पैटर्न का पालन करता है, जो कई उपभोक्ताओं के लिए न्यूनतम डेटा पैकेट और कुशल संदेश वितरण की आवश्यकता वाले परिदृश्यों में उत्कृष्ट है। एमक्यूटीटी की विशेषता इसकी कम बिजली खपत और सीमित प्रसंस्करण क्षमताओं वाले उपकरणों पर कार्यान्वयन में आसानी है, जो इसे IoT पारिस्थितिकी तंत्र में वास्तविक समय संदेश भेजने के लिए आदर्श बनाती है।
यहां इन तुलनाओं का अवलोकन दिया गया है:
तुलना का बिंदु | एएमक्यूपी | MQTT |
डिज़ाइन लक्ष्य | जटिल मैसेजिंग पैटर्न और एंटरप्राइज़ एकीकरण के लिए डिज़ाइन किया गया। | मुख्य रूप से IoT परिदृश्यों में, हल्के संदेश भेजने के लिए डिज़ाइन किया गया। |
प्रोटोकॉल ओवरहेड | अधिक व्यापक सुविधा सेट के कारण उच्चतर। | निचला, न्यूनतम बैंडविड्थ उपयोग के लिए अनुकूलित। |
मैसेजिंग मॉडल | उन्नत रूटिंग, लेनदेन और संदेश कतार के साथ-साथ पॉइंट-टू-पॉइंट और पब्लिश-सब्सक्राइब मॉडल दोनों का समर्थन करता है। | संदेश रूटिंग पर कम फोकस के साथ मुख्य रूप से पब्लिश-सब्सक्राइब मॉडल का उपयोग करता है। |
सेवा की गुणवत्ता (QoS) | संदेश वितरण आश्वासन के विभिन्न स्तर प्रदान करता है, जिसमें कम से कम एक बार, कम से कम एक बार और बिल्कुल एक बार डिलीवरी शामिल है। | QoS के तीन स्तर प्रदान करता है: 0 (अधिकतम एक बार), 1 (कम से कम एक बार), और 2 (बिल्कुल एक बार)। |
बक्सों का इस्तेमाल करें | एंटरप्राइज़ एप्लिकेशन एकीकरण, जटिल व्यावसायिक प्रक्रियाओं और विश्वसनीय संदेश वितरण और लेनदेन समर्थन की आवश्यकता वाली स्थितियों के लिए आदर्श। | IoT उपकरणों को जोड़ने के लिए सबसे उपयुक्त, विशेष रूप से सीमित बैंडविड्थ और पावर वाले वातावरण में। |
Flexक्षमता और जटिलता | सुविधाओं की एक विस्तृत श्रृंखला के कारण अधिक जटिल, प्रभावी ढंग से लागू करने के लिए अधिक ज्ञान की आवश्यकता होती है। | सरल और अधिक सीधा, जिससे इसे सीमित वातावरण में लागू करना आसान हो जाता है। |
सुरक्षा | प्रमाणीकरण और एन्क्रिप्शन सहित व्यापक सुरक्षा सुविधाएँ प्रदान करता है। | बुनियादी सुरक्षा तंत्र का समर्थन करता है लेकिन अक्सर अंतर्निहित नेटवर्क सुरक्षा पर निर्भर करता है। |
इंटरोऑपरेबिलिटी | विभिन्न प्रणालियों और विक्रेताओं के बीच अंतरसंचालनीयता को सक्षम करने के लिए डिज़ाइन किया गया है, जो इसे विविध प्रौद्योगिकियों के साथ उद्यम वातावरण के लिए उपयुक्त बनाता है। | IoT उपकरणों और प्लेटफार्मों के संदर्भ में अंतरसंचालनीयता पर ध्यान केंद्रित किया गया। |