एमएसएमक्यू की जांच के लिए मेरे टीम के नेता से हमारे उत्पाद के नए संस्करण के विकल्प के रूप में मुझसे पूछा गया है। हम अपने वर्तमान संस्करण में एसक्यूएल सेवा ब्रोकर का उपयोग करते हैं। मैंने अपनी जरूरतों के लिए कौन सा उत्पाद बेहतर है यह जानने के लिए मैंने प्रयोग और गूगलिंग का अपना उचित हिस्सा किया है, लेकिन मैंने सोचा कि मैं प्रोग्रामिंग उत्तरों के लिए सबसे अच्छी साइट से पूछूंगा।क्या मुझे लेनदेन के लिए एमएसएमक्यू या एसक्यूएल सेवा ब्रोकर का उपयोग करना चाहिए?
कुछ विवरण:
- हमारे ग्राहक नेट 1.1 और 2.0 कोड है, यह वह जगह है जहां से संदेश भेजा जाएगा।
- SQL सर्वर 2005 उदाहरण में लक्ष्य। सभी संदेश डेटाबेस अपडेट या आवेषण होते हैं।
- हम कई अपडेट भेज देंगे जिन्हें लेनदेन के रूप में माना जाना चाहिए।
- हमें सही संदेश पुनर्प्राप्ति होना है; कोई संदेश खोया नहीं जा सकता है।
- लक्ष्य एसक्यूएल सर्वर डाउन होने पर भी हमें अतुल्यकालिक और संदेशों को स्वीकार करने में सक्षम होना चाहिए।
- अपना खुद का क्यूइंग समाधान विकसित करना एक विकल्प नहीं है; हम एक छोटी टीम हैं।
चीजें मैं अब तक की खोज की है:
- दोनों MSMQ और SQL सेवा ब्रोकर काम कर सकते हैं।
- ऐसा प्रतीत होता है कि सेवा दलाल लेनदेन संबंधी संदेशों के लिए तेज़ है।
- सेवा ब्रोकर को कहीं भी चल रहे SQL सर्वर की आवश्यकता होती है, जबकि एमएसएमक्यू को कहीं भी चल रहे किसी भी कॉन्फ़िगर किए गए विंडोज मशीन की आवश्यकता होती है।
- क्लस्टर में स्थापित/चलाने के लिए एमएसएमक्यू बेहतर/तेज़/आसान प्रतीत होता है।
Am मैं कुछ याद आ रही? क्या यहां एक स्पष्ट विजेता है? किसी भी विचार, अनुभव, या लिंक का मूल्य निर्धारण किया जाएगा। धन्यवाद!
संपादित करें: हम सेवा दलाल के साथ चिपके हुए है क्योंकि हम अपने ग्राहक कोड के कुछ में इस्तेमाल एक कस्टम डीबी रूपरेखा है समाप्त हो गया (हम लेनदेन बेहतर संभाल)। उस कोड ने लेनदेन के लिए एसक्यूएल पर कब्जा कर लिया, लेकिन नहीं। क्लाइंट कोड .NET के सभी संस्करण 1.1 भी था, इसलिए हमें सभी क्लाइंट कोड को अपग्रेड करना होगा। आपकी सहायताके लिए धन्यवाद!
यदि आपका क्लाइंट कोड डेटाबेस सर्वर के अलावा किसी मशीन पर चलता है, तो सुनिश्चित करें कि आप रोलबैक परिदृश्य का परीक्षण करें। मैं उन मुद्दों में भाग गया जहां मैं कतार को संसाधित करता था और मुझे दूरस्थ अंतराल के कारण कुछ विफल करने की आवश्यकता होती थी, मैं सेवा ब्रोकर में कतार को समाप्त कर दूंगा क्योंकि यह ऑफ़लाइन होने से पहले 5 विफलताओं को ही संभाल सकता है। इस के आसपास पहुंचने के लिए मुझे सेवा ब्रोकर के लिए लेनदेन को अक्षम करना पड़ा और कोड में अपवाद हैंडलिंग पर भरोसा करना पड़ा, जिसका अर्थ है कि कुछ विफलताओं के तहत मैं पूरी तरह से संदेश खो देता हूं। –
अंतिम विकल्प क्या था? ऐसा है कि पूछने में बहुत देर हो चुकी है :)। –
@the coon: हम एसक्यूएल सेवा ब्रोकर का उपयोग कर समाप्त हो गए, और यह ठीक काम किया (जैसा कि मैंने उपरोक्त संपादन में उल्लेख किया है)।उस समय हमारे लिए यह बेहतर विकल्प था, हालांकि मुझे लगता है कि (इन दोनों के बीच) मैं एमएसएमक्यू का उपयोग करता हूं अगर मैं सिस्टम को खरोंच से पुनर्निर्माण करना चाहता हूं। –