जेफिरनेट लोगो

IoT संचार के लिए MQTT बनाम AMQP: हेड टू हेड

दिनांक:

IoT संचार के लिए MQTT बनाम AMQP: हेड टू हेड
चित्रण: © IoT for All

इंटरनेट ऑफ थिंग्स (IoT) की तेजी से वृद्धि के साथ, उपकरणों और प्रणालियों के बीच संचार प्रबंधन का महत्व बढ़ रहा है। IoT संचार MQTT और AMQP जैसे संदेश कतार प्रोटोकॉल द्वारा संभव बनाया गया है जो संरचित और कुशल तरीके से सूचना के आदान-प्रदान की सुविधा प्रदान करता है।

IoT को शक्ति प्रदान करने वाले दो लोकप्रिय प्रोटोकॉल हैं एमक्यूटीटी प्रोटोकॉल (संदेश कतारबद्ध टेलीमेट्री ट्रांसपोर्ट) और एएमक्यूपी (उन्नत संदेश कतारबद्ध प्रोटोकॉल)। आइए इनमें से प्रत्येक प्रोटोकॉल के बारे में विस्तार से जानें और उनके प्रमुख अंतरों और दोनों के बीच चयन करते समय विचार करने योग्य कारकों के बारे में बताएं।

संदेश कतारबद्ध प्रोटोकॉल का महत्व

IoT में, सरल सेंसर से लेकर जटिल मशीनों तक के उपकरणों को एक दूसरे के साथ और केंद्रीय प्रणालियों के साथ संचार करने की आवश्यकता होती है। ये उपकरण अक्सर कम बिजली या अविश्वसनीय नेटवर्क जैसे सीमित संसाधनों वाले वातावरण में काम करते हैं।

संदेश कतारबद्ध प्रोटोकॉल जैसे MQTT, जो ऐसे वातावरण के लिए डिज़ाइन किया गया है, इन उपकरणों को कुशलतापूर्वक और विश्वसनीय रूप से संचार करने में सक्षम बनाता है।

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

ये प्रोटोकॉल सुनिश्चित करते हैं कि संदेश विश्वसनीय रूप से वितरित किए जाएं, और सिस्टम स्वतंत्र रूप से स्केल और विकसित हो सकें।

MQTT क्या है?

MQTT, मैसेज क्यूइंग टेलीमेट्री ट्रांसपोर्ट का संक्षिप्त रूप, एक हल्का प्रकाशन/सदस्यता मैसेजिंग प्रोटोकॉल है। इसे 1999 में IBM द्वारा पेश किया गया था।

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

MQTT के आधार पर कार्य करता है प्रकाशन/सदस्यता मॉडल. इस मॉडल में, एक निर्माता, जिसे प्रकाशक के रूप में जाना जाता है, संदेश बनाता है, और एक उपभोक्ता, जिसे ग्राहक के रूप में जाना जाता है, उन्हें प्राप्त करता है।

प्रकाशक और ग्राहक के बीच बातचीत का प्रबंधन एक दलाल द्वारा किया जाता है। ब्रोकर प्रकाशकों से ग्राहकों तक संदेश वितरित करने के लिए जिम्मेदार है।

एमक्यूटीटी की सरलता इसके न्यूनतम प्रोटोकॉल कमांड में निहित है। इसमें केवल कुछ ही कमांड हैं, जिससे विभिन्न उपकरणों और प्रणालियों में इसे लागू करना आसान हो जाता है।

साथ ही, इसकी सेवा की गुणवत्ता का स्तर संदेश वितरण की पुष्टि की अनुमति देता है, जिससे यह सुनिश्चित होता है कि ट्रांसमिशन में कोई संदेश खो न जाए। आइए MQTT के बारे में अधिक विस्तार से जानें।

एमक्यूटीटी परिवहन और फ़्रेमिंग

MQTT TCP, TLS, WebSocket, या का उपयोग कर सकता है QUIC इसकी परिवहन परत के रूप में, कनेक्शन बनाना, सत्र स्थापित करना और ग्राहकों और दलालों के बीच संदेशों को विश्वसनीय रूप से प्रसारित करना।

एमक्यूटीटी फ़्रेम में 2-बाइट निश्चित हेडर, एक वेरिएबल हेडर और एक वेरिएबल-लंबाई पेलोड होता है। हेडर में पैकेट प्रकार, सेवा स्तर की गुणवत्ता, शेष लंबाई, पैकेट आईडी और गुण जैसी जानकारी होती है। बाइनरी पेलोड में प्रसारित होने वाला वास्तविक संदेश शामिल होता है।

एमक्यूटीटी संस्करण 15 प्रोटोकॉल विनिर्देशों में बाइनरी फ्रेम के आधार पर 5.0 प्रकार के नियंत्रण पैकेट को परिभाषित करता है। कनेक्ट करने, प्रकाशित करने और सदस्यता लेने के लिए उपयोग किए जाने वाले कुछ सामान्य पैकेटों में CONNECT, CONACK, PUBLISH, PUBACK, और SUBSCRIBE शामिल हैं।

एमक्यूटीटी क्यूओएस

MQTT संदेश वितरण के लिए सेवा के तीन गुणों का समर्थन करता है:

  • QoS0 "अधिकतम एक बार": संदेश ऑपरेटिंग वातावरण के सर्वोत्तम प्रयासों के अनुसार वितरित किए जाते हैं; संदेश हानि हो सकती है.
  • QoS1 "कम से कम एक बार": संदेशों का आना सुनिश्चित है, लेकिन डुप्लिकेट हो सकते हैं।
  • QoS2 "बिल्कुल एक बार": संदेश ठीक एक बार पहुंचने का आश्वासन दिया जाता है।

एमक्यूटीटी के फायदे और नुकसान

पेशेवरों:

  • सादगी: सबसे सरल प्रकाशन-सदस्यता डिज़ाइन, स्थापित करना, विकसित करना और प्रबंधित करना आसान।
  • हल्का और कुशल: एमक्यूटीटी संदेशों में कम बैंडविड्थ उपयोग के साथ केवल 2-प्रकार के हेडर ओवरहेड होते हैं जो प्रोटोकॉल को कम-शक्ति, कम-बैंडविड्थ उपकरणों के लिए आदर्श बनाते हैं।
  • अनुमापकता: लाखों MQTT कनेक्शनों, विषयों और सदस्यताओं तक स्केल करें।
  • विश्वसनीय संदेश वितरण: अविश्वसनीय नेटवर्क पर भी विश्वसनीय संदेश वितरण सुनिश्चित करने के लिए सेवा की गुणवत्ता के तीन स्तर।
  • कम विलंबता: सरल विषय-आधारित पब/उप मॉडल के कारण एक-अंकीय मिलीसेकंड विलंबता के साथ वास्तविक समय में संदेश वितरण।
  • सुरक्षा: MQTT TLS/SSL या QUIC पर सुरक्षित संचार और LDAP, JWT, PSK और X.509 प्रमाणपत्रों का उपयोग करके विभिन्न प्रमाणीकरण तंत्रों का समर्थन करता है।
  • संगतता और एकीकरण: एमक्यूटीटी को कई प्रोग्रामिंग भाषाओं, ऑपरेटिंग सिस्टम और सॉफ्टवेयर प्लेटफॉर्म के साथ एकीकृत किया जा सकता है।

विपक्ष:

  • एमक्यूटीटी में स्टोर-एंड-फॉरवर्ड कतार का अभाव है।

एएमक्यूपी क्या है?

एएमक्यूपी, एडवांस्ड मैसेज क्यूइंग प्रोटोकॉल, एक प्रोटोकॉल है जो मैसेजिंग पैटर्न की एक विस्तृत श्रृंखला का समर्थन करता है और सुविधाओं का एक मजबूत सेट प्रदान करता है। इसे 2003 में जेपी मॉर्गन चेज़ द्वारा बनाया गया था। इसे उन सिस्टमों के लिए डिज़ाइन किया गया है जिनके लिए उच्च स्तर की विश्वसनीयता और कार्यक्षमता की आवश्यकता होती है।

एमक्यूटीटी के विपरीत, एएमक्यूपी एक पीयर-टू-पीयर प्रोटोकॉल है, जिसका अर्थ है कि यह निर्माता और उपभोक्ता के बीच सीधे संचार का समर्थन करता है।

एएमक्यूपी एक मॉडल का उपयोग करता है जहां संदेशों को एक्सचेंजों को भेजा जाता है, जो फिर संदेशों को बाइंडिंग नामक नियमों के आधार पर उचित कतारों में भेजता है। इसके बाद उपभोक्ता कतार से संदेश प्राप्त करता है।

यह मॉडल जटिल रूटिंग और वितरण रणनीतियों की अनुमति देता है, जिससे एएमक्यूपी जटिल वितरित प्रणालियों के लिए उपयुक्त हो जाता है।

एएमक्यूपी की ताकत इसके व्यापक फीचर सेट में निहित है। यह लगातार मैसेजिंग सहित विभिन्न प्रकार के संदेश गुणों और वितरण मोड का समर्थन करता है, जो यह सुनिश्चित करता है कि ब्रोकर पुनरारंभ होने पर भी संदेश खो न जाएं।

एएमक्यूपी एक्सचेंज और बाइंडिंग

एएमक्यूपी में, एक एक्सचेंज एक ईमेल ट्रांसफर एजेंट की तरह होता है जो ईमेल का निरीक्षण करता है और रूटिंग कुंजियों और तालिकाओं के आधार पर निर्णय लेता है। एक रूटिंग कुंजी To:, Cc:, या Bcc: पते वाले ईमेल से मेल खाती है, सर्वर जानकारी के बिना (रूटिंग AMQP सर्वर के भीतर आंतरिक है)। बाइंडिंग ईमेल ट्रांसफर एजेंट की रूटिंग टेबल में एक प्रविष्टि की तरह है।

एएमक्यूपी चार प्रकार के एक्सचेंजों को परिभाषित करता है:

  1. प्रत्यक्ष (बिंदु-से-बिंदु): संदेश सीधे एक्सचेंज से जुड़ी कतार में भेजे जाते हैं।
  2. प्रशंसक बाहर: संदेशों को एक्सचेंज से जुड़ी प्रत्येक कतार में भेजा जाता है।
  3. विषय (प्रकाशित-सदस्यता लें): संदेशों को रूटिंग कुंजी और एक्सचेंज के बाइंडिंग पैटर्न के आधार पर कतारों में रूट किया जाता है।
  4. हेडर (प्रकाशित-सदस्यता लें): संदेश हेडर के पैटर्न मिलान के आधार पर संदेशों को कतारों में भेजा जाता है।

एएमक्यूपी परिवहन और फ़्रेमिंग

एएमक्यूपी टीसीपी/आईपी पर निर्मित एक बाइनरी प्रोटोकॉल है, जहां क्लाइंट और ब्रोकर के बीच एक विश्वसनीय, लगातार, स्ट्रीम-उन्मुख कनेक्शन स्थापित किया जाता है। एक ही सॉकेट कनेक्शन पर कई चैनल खोले जा सकते हैं, जिससे डेटा की कई स्ट्रीम एक साथ स्थानांतरित की जा सकती हैं।

संस्करण 1.0 में एएमक्यूपी फ़्रेम में 8-बाइट निश्चित हेडर, एक वैकल्पिक विस्तारित हेडर और एक चर-लंबाई बाइनरी पेलोड शामिल है। निश्चित हेडर में फ़्रेम प्रकार, चैनल नंबर और पेलोड के आकार के बारे में जानकारी होती है।

पेलोड में किसी भी संबंधित मेटाडेटा के साथ प्रसारित होने वाला वास्तविक संदेश शामिल होता है।

एएमक्यूपी के फायदे और नुकसान

पेशेवरों:

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

विपक्ष:

  • जटिल: एएमक्यूपी अपने मॉडल में कई अवधारणाओं को प्रस्तुत करता है और इसे समझना, स्थापित करना और प्रबंधित करना जटिल और चुनौतीपूर्ण हो सकता है।
  • हैवीवेट: एएमक्यूपी ने "चैनलों" के साथ अपनी परिवहन परत में मल्टीप्लेक्सिंग की शुरुआत की है। प्रत्येक एएमक्यूपी फ्रेम में 8 बाइट्स का हेडर ओवरहेड होता है।
  • पश्च संगतता: एएमक्यूपी की सबसे बड़ी समस्या यह है कि संस्करण 0.9.1 और 1.0 पूरी तरह से अलग हैं, जिससे इस समाधान क्षेत्र में अधिक जटिलता पैदा हो गई है।
  • मापनीयता और प्रदर्शन: कुछ उपयोग मामलों में एएमक्यूपी में सीमित स्केलेबिलिटी और कम प्रदर्शन हो सकता है। यह इसकी वास्तुकला के कारण है, जो एमक्यूटीटी जैसे हल्के प्रोटोकॉल की तुलना में अधिक जटिलता और ओवरहेड लगाता है।

एमक्यूटीटी बनाम एएमक्यूपी: आमने-सामने

निम्नलिखित तालिका AMQP और MQTT के बीच हमारी तुलना का सारांश प्रस्तुत करती है।

  एएमक्यूपी MQTT
परिभाषा उन्नत संदेश कतारबद्ध प्रोटोकॉल संदेश कतारबद्ध टेलीमेट्री परिवहन
मूल 2003 में जेपी मॉर्गन चेज़ द्वारा आविष्कार किया गया 1999 में आईबीएम द्वारा आविष्कार किया गया
आर्किटेक्चर ईबीक्यू (एक्सचेंज-बाइंडिंग-क्यू) विषय-आधारित प्रकाशन/सदस्यता लें
कोर अवधारणाओं एक्सचेंज क्यू बाइंडिंग रूटिंग कुंजी विषयसदस्यताएँ
मुख्य प्रोटोकॉल संस्करण · 0.9.1 नवंबर 2008 में रिलीज़ हुई
· 1.0 अक्टूबर 2012 में रिलीज़ हुई
· 3.1.1 दिसंबर 2015 में रिलीज़ हुई
· 5.0 मार्च 2019 में जारी किया गया
मैसेजिंग प्रतिमान    
बिंदु से बिंदु ✅ (स्टोर-एंड-फॉरवर्ड कतारें) आंशिक समर्थन
प्रकाशित/सदस्यता लें
प्रशंसक बाहर ✅ अधिक स्केलेबल
प्रशंसक में
अनुरोध/उत्तर ✅ संस्करण 5.0 में
पुश पुल
परिवहन नेटवर्क    
टीसीपी
टीएलएस / एसएसएल
WebSocket
QUIC
फ्रेमन    
ढांचा संरचना फ़्रेम को तीन अलग-अलग क्षेत्रों में विभाजित किया गया है:
निश्चित चौड़ाई फ़्रेम हेडर,
परिवर्तनीय चौड़ाई विस्तारित हेडर,
परिवर्तनीय चौड़ाई फ़्रेम बॉडी।
एक MQTT नियंत्रण पैकेट में अधिकतम तीन भाग होते हैं:
निश्चित शीर्षलेख
परिवर्तनीय शीर्षलेख
पेलोड
हेडर का आकार ठीक करें 8 बाइट्स 2 बाइट्स
पेलोड सामग्री द्विचर द्विचर
अधिकतम पेलोड आकार 2GB 256MB
प्रसव    
QoS 0: अधिकतम एक बार
क्यूओएस 1: कम से कम एक बार
क्यूओएस 2: बिल्कुल एक बार
सुरक्षा एसएसएल / टीएलएस एसएसएल / टीएलएस

चुनते समय विचार करने योग्य कारक

जब एमक्यूटीटी बनाम एएमक्यूपी के बीच निर्णय का सामना करना पड़ता है, तो विचार करने के लिए कई कारक होते हैं।

उपयोग के मामले की आवश्यकताओं के आधार पर मूल्यांकन

एमक्यूटीटी और एएमक्यूपी के बीच चुनाव काफी हद तक उपयोग के मामले की आवश्यकताओं पर निर्भर करता है। यदि आप प्रतिबंधित उपकरणों या अविश्वसनीय नेटवर्क से निपट रहे हैं, तो हल्के वजन की प्रकृति के कारण एमक्यूटीटी बेहतर विकल्प हो सकता है। यदि आपके उपयोग के मामले में जटिल रूटिंग और उच्च विश्वसनीयता की आवश्यकता है, तो एएमक्यूपी अधिक उपयुक्त होगा।

सिस्टम आर्किटेक्चर के आधार पर मूल्यांकन

सिस्टम आर्किटेक्चर भी निर्णय में भूमिका निभाता है। एमक्यूटीटी की सादगी इसे स्पष्ट और सरल संचार मॉडल वाले सिस्टम के लिए एक अच्छा विकल्प बनाती है। एएमक्यूपी, अपने लचीलेपन और मजबूत फीचर सेट के साथ, विविध संचार आवश्यकताओं वाले जटिल सिस्टम के लिए बेहतर अनुकूल है।

नेटवर्क स्थितियों के आधार पर मूल्यांकन

नेटवर्क स्थितियाँ एक अन्य महत्वपूर्ण कारक हैं। MQTT कम-बैंडविड्थ, उच्च-विलंबता या अविश्वसनीय नेटवर्क में अच्छा प्रदर्शन करता है। दूसरी ओर, एएमक्यूपी को अपने उच्च ओवरहेड के कारण एक विश्वसनीय नेटवर्क कनेक्शन की आवश्यकता होती है।

सेवा की आवश्यक गुणवत्ता के आधार पर मूल्यांकन

एमक्यूटीटी सेवा की गुणवत्ता के तीन स्तर प्रदान करता है, जिससे संदेश वितरण गारंटी में लचीलापन आता है। एएमक्यूपी, अपने निरंतर संदेश के साथ, संदेश वितरण में उच्च विश्वसनीयता सुनिश्चित करता है।

आपका निर्णय करना

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

स्पॉट_आईएमजी

वीसी कैफे

वीसी कैफे

नवीनतम खुफिया

स्पॉट_आईएमजी