हम अपने बुनियादी ढांचे में सिस्टम से उत्पन्न अपवादों की रिपोर्टिंग के लिए एक सुरुचिपूर्ण समाधान खोजने की कोशिश कर रहे हैं जो ई-मेल देखने या लॉग फ़ाइलों की जांच करने के लिए संचालित करना आसान है। एक सेवा बस में प्रकाशित/सब्सक्राइब मॉडल, इस समस्या को काफी अच्छी तरह से हल करेगा। सेवाएं त्रुटियों/घटनाओं को प्रकाशित करेगी और एक सबस्क्राइबर सरल पैटर्न मिलान का उपयोग करके इन संदेशों को फ़िल्टर कर सकता है।NServiceBus प्रकाशित/सदस्यता लें
हम NServiceBus परियोजना की जांच कर रहा है और सोचा कि क्या हम इसे निम्न दो स्थितियों का समाधान नहीं थे कि यह हमारी आवश्यकताएं प्राप्त होता है, पबसब नमूना (http://docs.particular.net/samples/pubsub/) को देख:
- सभी प्रकाशकों को प्रकाशित एक ही संदेश प्रकार
- ग्राहक प्रकाशक अंतिमबिंदुओं
हम इन आवश्यकताओं को प्राप्त करने में कामयाब हो के ज्ञान की आवश्यकता नहीं चाहिए, लेकिन हम अनिश्चित हैं कि विन्यास कोर है कर रहे हैं रेक्ट। सभी प्रकाशकों को एक ही सदस्यता भंडारण विन्यास (DBSubscriptionStorage) है, जो एक साझा डेटाबेस प्रलेखन http://docs.particular.net/nservicebus/messaging/publish-subscribe/
सभी प्रकाशकों/ग्राहकों की सदस्यता संग्रहण अनुभाग में वर्णित है का हिस्सा
: निम्नलिखित हमारे समाधान कर रहे हैं nservicebus वेबसाइट पर दस्तावेज़ में वर्णित वितरक का उपयोग करने के लिए कॉन्फ़िगर किया गया है।
हम जानना चाहते हैं कि क्या यह NServiceBus का सही कार्यान्वयन है प्रकाशित/मॉडल सदस्यता लेते हैं, या कि क्या वहाँ एक और समाधान है कि अपने लक्ष्यों को प्राप्त होता है हो सकता है चाहते हैं?
आपकी प्रतिक्रिया के लिए धन्यवाद, आईबीस के बीच अंतर्निहित अंतर क्या है। प्रकाशित करें और आईबस। – Matt
एक मिनट के लिए हमारे त्रुटि परिदृश्य को अनदेखा कर रहा है, शायद ऑर्डर प्रोसेसिंग सिस्टम पर विचार करें, जहां सेवाओं का एक समूह संसाधित किए गए आदेशों की अधिसूचनाएं प्रकाशित कर रहा है। अगर हम एकाधिक प्रकाशकों से एकाधिक ग्राहकों को एक ही ऑर्डर अधिसूचना संदेश प्रकाशित करने जा रहे थे, तो सदस्यता संग्रहण साझा करना सही कार्यान्वयन होगा। चूंकि ग्राहक हमारे संदेश की सदस्यता लेते हैं, सब्सक्रिप्शन साझा स्टोरेज में जोड़े जाते हैं और उस विशेष संदेश के सभी प्रकाशक हमारे ग्राहकों को प्रकाशित करना शुरू करते हैं। यह काम पर प्रतीत होता है, लेकिन क्या यह सही है? – Matt
मैट - मुझे लगता है कि आप कई * भौतिक * प्रकाशन सेवाओं के साथ कई * भौतिक * प्रकाशन नोड्स के विचार को जोड़ रहे हैं।NServiceBus एक लॉजिकल प्रकाशन सेवा को लागू करता है लेकिन, उस सेवा में, जितना चाहें उतने भौतिक नोड्स की अनुमति देता है (स्वचालित रूप से उत्पादन प्रोफ़ाइल में सेट करें, इसे मैन्युअल रूप से करें, आप डीबीस्क्रिप्शन स्टोरेज का उपयोग करेंगे)। इसके अलावा, आईबीयूएस। प्रकाशन का उपयोग उन घटनाओं को संवाद करने के लिए किया जाता है, जो पहले से ही * हो चुके हैं, जबकि भेजें का उपयोग कुछ ऐसा करने के लिए किया जाता है जिसे हम करना चाहते हैं (लेकिन अस्वीकार किया जा सकता है)। घटनाओं को खारिज नहीं किया जा सकता है (जैसा कि वे पहले से ही हुए हैं)। –