2008-11-13 14 views
6

क्या कोई मुझे वितरण में असफल संदेशों को संसाधित करने के लिए इन 3 दृष्टिकोणों के बीच अंतर समझा सकता है?डब्ल्यूसीएफ और एमएसएमक्यू विफलता हैंडलिंग

  • ज़हर कतार सेवा
  • डेड-पत्र कतार सेवा
  • विफलताओं

मैं "प्रोग्रामिंग WCF" है, लेकिन संभालने के लिए एक प्रतिक्रिया सेवा का उपयोग मैं वास्तव में समझ में नहीं आता जब तुम करोगी इनमें से किसी एक का उपयोग करें, या जब उनमें से एक से अधिक का उपयोग करना समझ में आता है। धन्यवाद!

उत्तर

8

मृत और जहर दो अलग-अलग अवधारणाएं हैं। जहर संदेश संदेश हैं जिन्हें कतार से पढ़ा जा सकता है, लेकिन आपका कोड यह नहीं जानता कि इसे कैसे संभालना है ताकि आपका कोड अपवाद दे। यदि यह कुछ समय तक चलता है तो आप यह संदेश एक अलग कतार पर रखना चाहते हैं ताकि आपके अन्य संदेशों को संभाला जा सके। इसके लिए एक अच्छा अपवाद on MSDN वर्णित है।

एक मृत पत्र एक संदेश है जो कतार द्वारा भी संभाला नहीं जाता है। नेटवर्क टूटा हुआ है या प्राप्त एमएसएमक्यू कंप्यूटर बंद है। ऐसा कुछ। विंडोज़ द्वारा कुछ समय बाद संदेश स्वचालित रूप से मृत कतार पर रखा जाएगा। तो यह सलाह दी जाती है कि वह ऐसी सेवा लिखने की सलाह दे जो मृत कतार पर नज़र रखता हो।

2

जहर संदेश/मृत पत्र संदेश कतारों का उपयोग उन संदेशों को रखने के लिए किया जाता है जो कतार में अविश्वसनीय होने के लिए निर्धारित किए गए हैं जो अब उन्हें वितरित करने की कोशिश नहीं करेंगे। यदि आप असफल संदेशों को मैन्युअल रूप से देखना चाहते हैं और बाद में उन्हें संसाधित करना चाहते हैं तो आप ऐसा करेंगे। आप इस प्रकार की कतारों का उपयोग करते हैं जब आप खराब संदेशों को बार-बार पुनः प्रयास करके अपने सिस्टम के प्रदर्शन को कम करने से रोकना चाहते हैं।

दूसरी ओर, प्रेषक को सूचित करने के लिए एक प्रतिक्रिया सेवा का उपयोग किया जाएगा कि संदेश को संसाधित करने में त्रुटि हुई थी। आम तौर पर इस मामले में आप बुरे संदेश को मैन्युअल रूप से संसाधित करने की योजना नहीं बना रहे हैं और सिस्टम को संदेश भेजने की आवश्यकता है जिसमें अनुरोध अस्वीकार कर दिया गया है।

ध्यान दें कि ये अनन्य नहीं हैं। यदि आप कतारों का उपयोग कर रहे हैं, तो हमेशा मौका है कि संदेश क्रमबद्धता कतार में मौजूद संदेशों को तोड़ने के लिए पर्याप्त रूप से बदल सकती है, यदि आप प्रतिक्रिया सेवा का उपयोग कर रहे हैं, भले ही आप अभी भी एक मृत पत्र कतार प्राप्त कर सकें।

+0

मैं उत्तर की सराहना करता हूं, लेकिन यह काफी नहीं है जो मैंने पूछा था। एक बात के लिए, मैं जहर और मृत पत्र के बीच का अंतर जानना चाहता हूं। इसके अलावा, मैं उन सेवाओं के बारे में और पूछ रहा हूं जो इन कतारों को संसाधित करते हैं, कतारों के बारे में मैं स्वयं हूं। – chessguy

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