EMQ क्यूओएस 1/2 संदेश कैसे जारी रखता है?


10

EMQ (Erlang MQTT ब्रोकर) एक एक रिपोर्ट "13 लाख समवर्ती MQTT कनेक्शन" के साथ "वितरित, व्यापक विस्तार योग्य, अत्यधिक एक्स्टेंसिबल MQTT संदेश दलाल" है - तो यह संभावित ग्राहकों की एक बड़ी संख्या प्रकाशित करें और इसे करने के लिए सदस्यता लेने के लिए अनुमति देता है। ऐसा लगता है कि कुछ ग्राहकों को किसी भी समय डिस्कनेक्ट किया जा सकता है।

इस सवाल के रूप में क्या होता है अगर मच्छर क्यूओएस 1/2 संदेशों को स्टोर करने के लिए मेमोरी से बाहर चला जाता है? मच्छर के बारे में पूछता है:

MQTT में, QoS 1 या 2 वाले संदेशों को कम से कम एक बार वितरित किया जाना चाहिए (QoS 2 संदेशों को बिल्कुल एक बार वितरित किया जाना चाहिए )। यदि क्लाइंट कनेक्ट नहीं है, तो ब्रोकर को संदेश को तब तक स्टोर करना चाहिए जब तक क्लाइंट इसे प्राप्त करने के लिए तैयार न हो।

तो ईएमक्यू डिलीवरी के बाद तक क्यूओएस 1/2 संदेश कैसे जारी रखता है , यानी ब्रोकर का रिबूट या मेमोरी लिमिट के संबंध में?


जवाबों:


6

तो ईएमक्यू डिलीवरी के बाद तक क्यूओएस 1/2 संदेश कैसे जारी रखता है, यानी ब्रोकर का रिबूट या मेमोरी लिमिट के संबंध में?

जवाब लगता है: यह नहीं है । उनके बग ट्रैकर पर यह मुद्दा कहता है:

मैं ब्रोकर पुनरारंभ के बाद लगातार ग्राहक सत्रों को संग्रहीत करने के लिए समस्या का सामना कर रहा हूं। क्या यह सुविधा वर्तमान में ब्रोकर में मौजूद नहीं है या मुझे कुछ कॉन्फ़िगरेशन याद नहीं है?

ब्रोकर सत्र को जारी नहीं रखेगा।

इसके अलावा, कुछ और मुद्दों के माध्यम से खुदाई करने के बाद, मुझे यह रिपोर्ट मिली :

प्रारंभ में मैंने अधिकतम ग्राहकों को 1000K में emqttd.config पर सेट किया है। हमारी मशीन में 4 कोर के साथ 8 जीबी मेमोरी है, मैं 120K समवर्ती कनेक्शन को आसानी से कनेक्ट करने में सक्षम हूं, लेकिन जब यह 8 जीबी मेमोरी से अधिक हो जाता है तो खुद को समाप्त कर देता है। मुझे लगा कि प्रति मशीन एक अधिकतम ग्राहक निर्धारित है जो बेहतर होगा।

अनिवार्य रूप से, v2.0.5 के रूप में:

  • संदेश किसी फ़ाइल के लिए बने नहीं लगते हैं।
  • एक बार जब ब्रोकर मेमोरी से बाहर हो जाता है, तो यह बस दुर्घटनाग्रस्त हो जाएगा।

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


1
बड़े पैमाने पर स्केलेबल mqtt ब्रोकर के लिए विषम (कम से कम कहने के लिए) लगता है ।
घनिमा

यदि आप एक वितरित MQTT ब्रोकर की तलाश कर रहे हैं जो QoS1 / 2 संदेशों को डिस्क (LevelDB का उपयोग करके) के लिए जारी रखता है, तो शायद VerneMQ ( vernemq.com ) पर एक नज़र डालें ।
लार्स हेसेल क्रिस्टेंसेन

Mmmh जबकि emqtt संदेश को सभी के द्वारा संग्रहीत नहीं करता है, यह कई डेटाबेस से जुड़ा हो सकता है, इसलिए मैं मान रहा हूं कि यह क्या करता है। क्या आपने जाँच की है?
फेबियन पाप्लेक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.