2011-10-04 11 views
8

बस रिमोट ट्रांजैक्शनल संदेश कतारों को संदेश भेजने के तरीके पर पुष्टि प्राप्त करना चाहता था।एमएसएमक्यू लेनदेन संदेश वितरण कैसे काम करता है?

मान लीजिए मैं एक दो मशीनों, ए और बी

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

  1. जब संदेश भेजने, एक स्थानीय मशीन बी पर बनाया प्रति है इससे पहले कि यह हो जाता है: मशीन बी एक आवेदन मशीन ए पर कतार में लिखने के लिए की जरूरत है कि

    कुछ सवाल चल रहा है मशीन ए को दिया गया?
    ए। यदि हां, तो यह व्यवहार डिफ़ॉल्ट रूप से होता है, या यह तब होता है जब "पुनर्प्राप्ति योग्य" संपत्ति भेजी जाती है?
    बी। क्या तथ्य यह है कि कतार लेनदेन का इस व्यवहार पर कोई प्रभाव पड़ता है?

  2. चूंकि मैं एक लेनदेन कतार का उपयोग कर रहा हूं, लेनदेन के बाद डेटा कहां है? ए। क्या यह स्थानीय रूप से बैठा है, एमएसएमक सेवा को रिमोट कतार में संदेश देने का इंतजार कर रहा है?
    बी। या रिमोट मशीन पर कतार में बैठे संदेश है?

मुझे दस्तावेज़ों की व्याख्या करने में समस्या हो रही है। कुछ स्थानों पर मैं देखता हूं कि स्टोर और फॉरवर्ड व्यवहार का वर्णन किया गया है, लेकिन मुझे यह समझने में परेशानी हो रही है कि लेनदेन संबंधी कतारों के साथ यह डिफ़ॉल्ट व्यवहार है या अगर मुझे इसे पाने के लिए स्पष्ट रूप से कुछ करने की ज़रूरत है।

उत्तर

6

लेनदेन संबंधी एमएसएमक्यू के बारे में समझने की मुख्य बात यह है कि रिमोट कतार में एक संदेश के लेनदेन संचरण में वास्तव में 3 अलग-अलग लेनदेन शामिल होते हैं।

  1. प्रेषक एक स्थानीय अस्थायी कतार में संदेश लिखता है।
  2. प्रेषक मशीन पर कतार प्रबंधक प्राप्तकर्ता मशीन पर कतार प्रबंधक को तार में संदेश भेजता है।
  3. रिसीवर सेवा कतार संदेश को संसाधित करती है और फिर कतार से संदेश हटा देती है।
तो जवाब में

अपने प्रश्नों के:

जब संदेश भेजने, एक स्थानीय प्रति मशीन बी पर बनाया, इससे पहले कि यह मशीन एक के लिए दिया जाता है?

हाँ

यदि हां, तो डिफ़ॉल्ट रूप से इस व्यवहार है, या यह केवल जब "IsRecoverable" संपत्ति भेज दिया जाता है हो जाता है?

डिफ़ॉल्ट रूप से। यह store and forward के रूप में जाना जाता है।

क्या यह तथ्य है कि कतार लेनदेन का इस व्यवहार पर कोई प्रभाव पड़ता है?

कोई विफलता होने पर छोड़कर कोई नहीं।

चूंकि मैं एक लेनदेन कतार का उपयोग कर रहा हूं, लेनदेन के बाद डेटा कहां है?

यह निर्भर करता है जो लेन-देन क्या आपका मतलब है (ऊपर देखें)

स्थानीय स्तर पर यह बैठे है, msmq सेवा दूरस्थ कतार में संदेश देने के लिए के लिए इंतजार?

केवल तभी जब रिमोट कतार उपलब्ध नहीं है।

या संदेश रिमोट मशीन पर कतार में बैठा हुआ संदेश है?

यदि रिसीवर सेवा संदेश को संसाधित करने में विफल रहता है (हैंडलर में एक अपवाद है) संदेश रिमोट कतार पर रहेगा।

+0

धन्यवाद ह्यूग, यह बहुत उपयोगी है! – Kartik

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