यहां "सर्वोत्तम अभ्यास" सलाह नहीं हो सकती है ... लेकिन वास्तविक जीवन की जरूरतों और अनुभव के आधार पर: हमने सिस्टम वितरित किया है, प्रत्येक 10 क्लाइंट चलाने वाले 60 बक्से सभी कार्य X करते हैं, और उन्हें अगले कार्य को लेने की आवश्यकता है एक कतार से। कतार को एक अन्य "ग्राहक" से खिलाया जा रहा है ...
हमने इंटर प्रोसेस संचार का उपयोग किया था, हमने एमएसएमक्यू का इस्तेमाल किया था, हमने सेवा दलाल की कोशिश की ... यह लंबे समय तक काम नहीं करता क्योंकि आप दे रहे हैं माइक्रोसॉफ्ट के लिए अपने आवेदन का नियंत्रण दूर। जब तक आपकी ज़रूरतें पूरी होती हैं तब तक यह बहुत अच्छा काम करता है। यह नरक बन जाता है जब आपको कुछ समर्थित नहीं होना चाहिए।
हमारे लिए सबसे अच्छा समाधान था: क्यू के रूप में एक SQL डेटाबेस तालिका का उपयोग करें। वहां पहिया को फिर से न लगाएं, क्योंकि आप गलतियां करेंगे (ताले)। वहां यह जानकारी है कि इसे कैसे किया जाए, यह बहुत आसान है और हमने प्रति 24 एच 200 से अधिक संदेशों को संभाला है (60x10 = 600 समवर्ती पढ़ता है और कतार में लिखता है)। वह उसी एसक्यूएल सर्वर अनुप्रयोग सामान के बाकी से निपटने के अतिरिक्त है ...
कुछ कारण जिनकी वजह MSMQ काम नहीं करता:
जब आप करने के लिए कतार के तर्क को बदलने की जरूरत फीफो नहीं, लेकिन "सबसे पुराना लाल संदेश" या "सबसे पुराना ब्लू संदेश" जैसा कुछ आप इसे नहीं कर सकते। (मुझे पता है कि लोग क्या कहेंगे, आप इसे लाल कतार और नीली कतार प्राप्त करके कर सकते हैं .. लेकिन क्या होगा यदि आवेदन के तरीके के आधार पर संख्या/प्रकार की कतार गतिशील है और दैनिक रूप से बदलती है ?)
यह विफलता और तैनाती दुःस्वप्न का एक बिंदु जोड़ता है (कतार विफलता का एक बिंदु है और आपको एंटरप्राइज़ सॉफ़्टवेयर में भुगतान किए गए संदेशों को पढ़ने/लिखने के लिए सभी बक्से पर सही अनुमतियां सेट करने से निपटने की आवश्यकता है ' इन प्रकार की चीजों के लिए रक्त)। एसक्यूएल सर्वर ... सभी ग्राहकों/DB से पढ़ने को पहले से ही लिख रहे हैं, यह सिर्फ एक और तालिका है ..
वह साइट (http://wsmq.net) नीचे नहीं है लेकिन डोमेन बिक्री के लिए है। मतलब WSMQ आरआईपी है! –