2012-05-08 29 views
6

मैं एक विशिष्ट क्वेरी यहां नहीं है; बस कुछ डिजाइन दिशानिर्देशों की आवश्यकता है।MQTT बनाम MQ डिजाइन संबंधी

मैं Node.js , MQTT and Websockets पर इस लेख भर में आया था। मुझे लगता है कि हम नोड/जावा + ActiveMQ + Websockets का उपयोग करके समान उद्देश्य प्राप्त कर सकते हैं। मेरी क्वेरी यह है कि एमक्यू और एमक्यूटीटी के बीच चयन कैसे करें? क्या मैं ActiveMQ की तुलना में मध्यम-बड़े पैमाने पर प्रोजेक्ट में mosquitto जैसे "खुले" सर्वर का सुरक्षित रूप से उपयोग कर सकता हूं?

This article में कुछ अंतर्दृष्टि है, और ऐसा लगता है कि मुझे एमक्यू और एमक्यूटीटी दोनों का उपयोग करना चाहिए, क्योंकि एमक्यूटीटी संभवतः भविष्य में हल्के ग्राहकों को प्राप्त करने में मदद कर सकता है।

धन्यवाद!

उत्तर

5

क्या शशि ने कहा है कि करने के लिए जोड़ा जा रहा है, इन विभिन्न क्षमताएं हैं और मामलों का उपयोग करें।

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

दूसरी तरफ पारंपरिक संदेश क्यूइंग सिस्टम आम तौर पर स्वामित्व (हालांकि एएमक्यूपी का लक्ष्य बदलना है), पॉइंट-टू-पॉइंट और पब/सब दोनों को कवर करते हैं, सेवा के कई गुण प्रदान करते हैं और अधिक हेवीवेट वायर प्रारूप होते हैं , हालांकि यह उत्तरदायी फीचर सेट जैसे कि उत्तर देने के लिए, प्रोटोकॉल रूपांतरण इत्यादि का समर्थन करने के लिए मौजूद है

एमक्यूटीटी का एक अच्छा उदाहरण होगा जहां आपके पास फोन, टैबलेट और सेट-टॉप बॉक्स में अंतराल होंगे। इनमें न्यूनतम अश्वशक्ति, स्मृति और सिस्टम संसाधन हैं। आम तौर पर इनके कनेक्शन एमक्यूटीटी रहते हैं और वे स्वयं के बीच बात करते हैं, या वे एंटरप्राइज़-क्लास एमक्यू में बंधे होते हैं जहां वे बैक-एंड अनुप्रयोगों के साथ अंतःक्रिया कर सकते हैं। उदाहरण के लिए, एमक्यूटीटी-आधारित चैट क्लाइंट सीधे एमक्यूटीटी ब्रोकर के माध्यम से दूसरे से बात कर सकता है। वैकल्पिक रूप से, एक एमक्यूटीटी-आधारित सामग्री-वितरण प्रणाली एंटरप्राइज़ मैसेजिंग नेटवर्क पर पुल करेगी जो विज्ञापनों और अन्य सामग्री को फोन और टैबलेट पर चल रहे ऐप्स पर वितरित करने के लिए होस्ट करती है। एंटरप्राइज़ बैक-एंड विज्ञापन वितरण के सभी आंकड़ों और विचारों का प्रबंधन करेगा, जिन पर बिलिंग आधारित हैं और एमक्यूटीटी पैर सामग्री को अंतिम उपयोगकर्ता डिवाइस पर न्यूनतम बैटरी या अश्वशक्ति खपत के साथ धकेलने की अनुमति देता है।

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

+0

उदाहरण के लिए धन्यवाद! – SlowAndSteady

2

MQTT प्रोटोकॉल सेंसर जैसे छोटे उपकरणों, मोबाइल फोन आदि छोटे स्मृति पदचिह्न है के लिए उपयुक्त है। ये डिवाइस आमतौर पर एक भंगुर नेटवर्क में स्थित होते हैं और आमतौर पर कम कंप्यूटिंग पावर होते हैं।

इन उपकरणों संदेश भेजने और प्राप्त करने के लिए MQTT प्रोटोकॉल के माध्यम से एक संगठनों बैक-एंड नेटवर्क से कनेक्ट। उदाहरण के लिए एक तेल पाइपलाइन में एक तापमान सेंसर पाइप के माध्यम से बहने वाले तेल का तापमान एकत्र करेगा और इसे नियंत्रण केंद्र में भेज देगा। जवाब में उस पाइप के माध्यम से तेल के प्रवाह को कम/बंद करने के लिए एमक्यूटीटी पर किसी अन्य डिवाइस पर एक कमांड संदेश भेजा जा सकता था।

WebSphere MQ क्षमता MQTT उपकरणों से/भेजने के लिए/संदेश प्राप्त है। इसलिए यदि आप मैसेजिंग आधारित समाधान को कार्यान्वित करने की योजना बना रहे हैं जिसमें डिवाइस & सेंसर शामिल हैं, तो आप एमक्यू और एमक्यूटीटी पर विचार कर सकते हैं।

HTH

1

के रूप में पहले से ही चर्चा, MQTT एक अनुप्रयोगी वायर प्रोटोकॉल को परिभाषित करता है (अर्थात कैसे जानकारी आयोजित किया जाता है और फिर धारावाहिक, स्थानांतरित किया जाना से पहले)। मच्छर, या जो भी एमक्यूटीटी ब्रोकर, Hub and Spoke Integration Pattern का सिर्फ एक कार्यान्वयन है, जैसे कि जेएमएस और एएमक्यूपी आधारित दलालों की तरह, अंतर परिवहन स्तर पर वायर प्रोटोकॉल में शामिल है: AMQP एक मानक परिवहन तार प्रोटोकॉल को परिभाषित करता है, इसके बजाय जेएमएस ब्रोकर ActiveMQ अपने स्वयं के मालिकाना प्रारूप को परिभाषित करता है, अर्थात् OpenWire। बेशक, मच्छर की तरह मानक कार्यान्वयन नहीं, मालिकाना तार परिवहन प्रोटोकॉल को लागू करें (यह अंतःक्रियाशीलता को प्रभावित करता है, लेकिन परफॉर्मेंस के मामले में बेहतर विकल्प हो सकता है)।

प्रश्न पर वापस। स्केलेबिलिटी और विश्वसनीयता के मामले में आपकी आवश्यकताओं के मुताबिक मच्छर जैसे ब्रोकर्स वास्तविक परिदृश्यों में इस्तेमाल किए जा सकते हैं: आम तौर पर, मुझे विश्वास दिलाता है कि क्लस्टरिंग की आवश्यकता है। उपलब्धता, ii। विश्वसनीयता और iii। अनुमापकता। ब्रोकर्स ने पैन (प्राइवेट एरिया नेटवर्क्स) के लिए सोचा, आमतौर पर ओटीबी (बॉक्स ऑफ आउट) प्रदान नहीं करते हैं - एक्टिवएमक्यू यह प्रदान करता है।

समापन, यह आप के लिए सबसे अच्छा समाधान लेने के लिए अपनी आवश्यकताओं पर निर्भर है।