2011-12-16 13 views
6

मैं इन आवश्यकताओं के साथ एक संदेश कतार की तलाश में देख रहा हूँ। इसे नहीं मिला; शायद निकटतम rabbitmq-lvc प्लगइन था (लेकिन मुझे चिपकने और सामने रहने के लिए लाइन में पहला मान चाहिए)। क्या किसी को भी इनका समर्थन करने के लिए एक तकनीक पता चलेगी?क्या कोई एंटरप्राइज़ संदेश कतार है जो डुप्लिकेट संदेश छोड़ सकता है (पहला मान रहता है)?

  • संदेश कतार फीफो
  • अगर एक डुप्लिकेट संदेश कतारबद्ध किया जा रहा है, संदेश कतार में ही या तो खारिज कर दिया है या इसे चला जाता है।

उदाहरण के लिए, उत्पादकों इन तीन संदेश (एक discriminator मूल्य के साथ प्रत्येक) कतार में इस क्रम में डाल दिया: एम 1 (discriminator = 7654), M2 (discriminator = 2435), एम 3 (discriminator = 7654)। अब मैं संदेश कतार देखना चाहता हूं कि एम 3 में एम 1 के समान भेदभाव मूल्य है और इस प्रकार एम 3 को छोड़/अस्वीकार कर दिया गया है। उपभोक्ता केवल प्राप्त करते हैं: एम 1, एम 2।

धन्यवाद टॉम

उत्तर

4

मैं अन्य परिवहन पता नहीं लेकिन मुझे पता है कि WebSphere MQ ऐसा नहीं करती है और मुझे विश्वास है कि स्पष्टीकरण क्यों श्रेणी भर में मोटे तौर पर लागू होगा। मुझे यह जानकर आश्चर्य होगा कि परिवहन वास्तव में यह प्रदान करता है। यहां कुछ कारण दिए गए हैं:

  • Async संदेशों परमाणु होना चाहिए। विभिन्न विक्रेता संदेश संबंध (दो या दो से अधिक संदेशों के बीच संबंध) के लिए अपनी जगह बनाते हैं लेकिन एक नियम के रूप में, संदेश संबंध से बचा जाना चाहिए। आपके उपयोग के मामले में न केवल परिवहन संबंधों से निपटने के लिए परिवहन की आवश्यकता होती है, बल्कि संबंधित संदेशों के बीच एक अनिश्चित अंतराल पर ऐसा करने के लिए।
  • संदेश पेलोड एक ब्लॉब है। प्रदर्शन कारणों से, डब्लूएमक्यू संपीड़न या कोड पेज रूपांतरण जैसी चीज़ों को छोड़कर संदेश पेलोड को स्पर्श नहीं करता है। संदेश पेलोड को पार्स करने की आवश्यकता वाले किसी भी चीज को वेबस्पेयर संदेश ब्रोकर, डेटापावर या वेबस्पियर ईएसबी के लिए एक नौकरी है। मैं उम्मीद करता हूं कि किसी भी संदेश परिवहन जो प्रदर्शन करने का दावा करता है, उसी तरह के मुद्दों का सामना करेगा क्योंकि पार्सिंग पेलोड के परिणामस्वरूप लंबे कोड पथ और गैर-रैखिक प्रदर्शन में गिरावट आती है। अपवाद संदेश गुण है लेकिन WMQ इन्हें केवल चयन के लिए उपयोग करता है और मुझे उम्मीद है कि आम तौर पर यह मामला है।
  • स्टेटलेस ऑपरेशन। एक परिवहन के रूप में, आवेदन की स्थिति एक सतत संदेश में संग्रहीत की जा सकती है लेकिन परिवहन परत की स्थिति कार्य की विभिन्न इकाइयों पर लागू नहीं होनी चाहिए। फिर, एक ईएसबी प्रकार का उत्पाद सबसे उपयुक्त है जब आप प्रबंधन को मैसेजिंग परत में कुछ एप्लिकेशन स्थिति का प्रतिनिधि देना चाहते हैं और विशेष रूप से जब ऐसा प्रबंधन कार्य की कई इकाइयों को फैलाता है।
  • आश्वासित डिलीवरी। डब्लूएमक्यू को आपके लगातार संदेश को कभी खोने के लिए डिज़ाइन नहीं किया गया था। यदि ऐप स्पष्ट रूप से समाप्ति सेट करता है तो संदेश पर जा सकता है क्योंकि प्रेषक ने कहा कि ऐसा करना ठीक था। अगर संदेश निरंतर है तो यह दूर जा सकता है, लेकिन केवल एक असाधारण स्थिति में और फिर, क्योंकि प्रेषक ने कहा कि ऐसा करना ठीक था। आपके द्वारा वर्णित उपयोग के मामले में एक संदेश नहीं जा सकता है क्योंकि प्रेषक ने कहा था कि यह ठीक था, या यहां तक ​​कि क्योंकि प्राप्तकर्ता ने कहा था कि यह ठीक था, लेकिन कुछ असंबद्ध तृतीय पक्ष के साथ बातचीत की वजह से जो आपको कतार में मारने के लिए हुआ डुप्लिकेट मान क्या होगा यदि उस पहले संदेश में अमान्य हेडर या कोड पेज समस्या है और वापस लुढ़क जाए? क्या होगा यदि मैं एक हमलावर के रूप में भेदभाव संदेश के लिए सभी संभव 4-अंकों के मूल्यों के साथ कचरा संदेश निकाल देता हूं?

जैसा कि मैंने कहा, मुझे अन्य संदेश उत्पादों को नहीं पता है, इसलिए वहां कुछ ऐसा हो सकता है जो आपकी आवश्यकता को पूरा करता है और यदि ऐसा है तो मुझे इसके बारे में पढ़ने में दिलचस्पी होगी। हालांकि घटना टोपी में कोई जवाब नहीं देता है, इस पोस्ट के कारणों पर कुछ प्रकाश डाला जा सकता है।

+0

धन्यवाद टी रॉब। मैं देख सकता हूं कि मैसेजिंग कतार क्यों संदेश निकायों का निरीक्षण नहीं करती है और क्यों न उन्हें छोड़ने का अधिकार सही दृष्टिकोण है। मैं बाहरी टेबल का उपयोग करके इस पर काम कर सकता हूं जो प्रसंस्करण का ट्रैक रखता है (भेदभावकर्ता -> अंतिम प्रसंस्करण का समय)। फिर, जो भी कतार का संदेश लेता है, वे खुद को तय कर सकते हैं कि यह प्रक्रिया करने का समय है या त्यागने का समय है। तालिका प्रश्नों के लिए थोड़ा ओवरहेड जोड़ने की आवश्यकता है; लेकिन शायद एक बेहतर मॉडल। – Tom

+0

खुशी है कि यह एक उपयोगी पोस्ट था, लेकिन मैं थोड़ी देर के वैकल्पिक उत्तरों की प्रतीक्षा कर रहा था, इसलिए मैं इस प्रकार की आवश्यकता के बारे में अन्य ट्रांसपोर्ट के बारे में पढ़ सकता था। किसी भी मामले में, फॉलो-अप के लिए धन्यवाद और स्वीकार करें। –

संबंधित मुद्दे