क्या होता है जब MQTT में किसी विषय का कोई ग्राहक नहीं होता है?


12

स्थिति निम्नलिखित है:

एक ग्राहक, एक प्रकाशक है, यह किसी भी विषय के लिए सदस्यता नहीं लेता है। इस ग्राहक के पास स्वयं का एक विषय है, और इसके लिए डेटा reguraly प्रकाशित करता है। लेकिन कोई अन्य क्लाइंट नहीं हैं जो इस विषय के लिए सब्सक्राइब किए गए हैं।

तो इस गरीब और अकेले ग्राहक को असामान्य माना जा सकता है ( अध्याय 5.4.8 )।

संभावित सुरक्षा घटनाओं का पता लगाने के लिए सर्वर कार्यान्वयन क्लाइंट व्यवहार की निगरानी कर सकता है। उदाहरण के लिए:

  • [...]

  • अविभाज्य संदेश भेजना (विषयों का कोई ग्राहक नहीं)

इस बारे में कोई जानकारी नहीं है कि कितने ग्राहकों ने इसके विषय की सदस्यता ली है। इसलिए यह नहीं पता है कि इसे असामान्य व्यवहार वाला ग्राहक माना जा सकता है।

तो ऐसे क्लाइंट के साथ क्या होता है जो सर्वर के कार्यान्वयन पर निर्भर करेगा? क्या प्रथाएं हैं, इसे बस काट दिया जाना चाहिए, लेकिन फिर इसे फिर से जोड़ने की कोशिश नहीं की जाएगी?

जवाबों:


9

जैसा कि आप कहते हैं, यह सर्वर के कार्यान्वयन पर निर्भर करता है, विशेष रूप से प्रेषित संदेश का क्यूओएस यदि यह "कम से कम एक बार" है।

IMHO MQTT एक ब्रॉडकास्टिंग सिस्टम है, न कि दो मशीनों के बीच का एंड-टू-एंड प्रोटोकॉल, इसलिए जब भी हम सब्जेक्ट बनाते हैं तो हमें हर बार सब्सक्राइबर की जरूरत नहीं होती है।

मैं कुछ भी (तापमान, ...) पोस्ट कर सकता हूं और दो महीने बाद कुछ ऐसा लागू करूंगा जो इसे पढ़ेगा, या इसे हटा भी देगा और कुछ और सोच सकता है जबकि मेरा सेंसर अभी भी डेटा प्रकाशित करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.