मैंने अपने नेटवर्क पर मच्छर का उपयोग करके एक एमक्यूटीटी संदेश दलाल लागू किया। मेरे पास एक वेब ऐप है जो ब्रोकर और कई सर्वरों को प्रकाशित करता है जो एक ही विषय की सदस्यता लेते हैं। तो मेरे पास एक अतिरेक परिदृश्य है।

मेरा सवाल है, अकेले मच्छर का उपयोग करके, क्या इसे केवल पहले ग्राहक पर डेटा प्रकाशित करने के लिए कॉन्फ़िगर करने का कोई तरीका है? नहीं तो सभी लोग ऐसा ही करेंगे।

0
Diogo Aleixo 12 मई 2018, 17:34

2 जवाब

सबसे बढ़िया उत्तर

मुझे नहीं लगता कि यह संभव है।

लेकिन आप ऐसा कर सकते हैं।

संदेश मिलते ही चैनल पर पहले सब्सक्राइबर प्रोग्राम को ack के साथ प्रतिक्रिया दें, और रिडंडेंसी प्रोग्राम को प्रारंभिक संदेश के बाद थोड़े समय के लिए ack की तलाश करें।

यदि एके प्राप्त होता है तो अतिरेक कुछ भी नहीं करना चाहिए।

इसलिए यदि पहला ग्राहक संदेश प्राप्त करता है और उसका उपयोग करता है, तो अन्य लोग संदेश मिलने पर भी कुछ नहीं करेंगे।

1
Nitro 12 मई 2018, 17:42

नहीं, इस समय मच्छर के साथ यह संभव नहीं है (दूसरे उत्तर में वर्णित 2 ग्राहकों के बीच संचार के बिना)।

MQTT युक्ति (v5)* की नई रिलीज़ के लिए "साझा सदस्यता" नामक एक नया मोड है। यह कई ग्राहकों को एक ही विषय की सदस्यता लेने की अनुमति देता है और प्रत्येक ग्राहक को राउंड रॉबिन द्वारा संदेश वितरित किए जाएंगे। यह मास्टर/गुलाम के विफल होने के बजाय लोड संतुलन के लिए अधिक है।

*कुछ ब्रोकर (HiveMQ, IBM MessageSight) पहले से ही MQTT v3.1.1 पर साझा सदस्यता के कुछ संस्करणों का समर्थन करते हैं, लेकिन वे इसे थोड़े अलग तरीकों (अलग-अलग विषय उपसर्गों) में लागू करते हैं, इसलिए वे क्रॉस-संगत नहीं हैं।

1
hardillb 12 मई 2018, 18:48