मेरे पास एक्टिवएमक्यू आर्टेमिस है। निर्माता 1000 संदेश उत्पन्न करता है और उपभोक्ता एक-एक करके उनकी प्रोसेसिंग करता है। अब मैं दो उपभोक्ताओं की मदद से इस कतार को संसाधित करना चाहता हूं। मैं नया उपभोक्ता शुरू करता हूं और दो उपभोक्ताओं के बीच नए संदेश वितरित किए जाते हैं। मेरा प्रश्न: क्या सभी शुरू किए गए उपभोक्ताओं के बीच पुराने संदेशों को पुनर्वितरित करना संभव है?

0
Denis Burlaka 14 अप्रैल 2020, 22:50

1 उत्तर

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

एक बार ब्रोकर द्वारा उपभोक्ता को संदेश भेजे जाने के बाद ब्रोकर उन्हें आसानी से याद नहीं कर सकता क्योंकि उपभोक्ता उन्हें संसाधित कर रहा होगा। संदेशों को कतार में वापस रद्द करना उपभोक्ता पर निर्भर है (उदाहरण के लिए इसका कनेक्शन/सत्र बंद करके)।

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

1
Justin Bertram 15 अप्रैल 2020, 01:23