2012-05-19 24 views
11

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

उत्तर

22

eeeeemph ... इस कोई बहुत गलत था। दोनों अलग-अलग परतों में रहते हैं, क्योंकि वे अतुलनीय हैं। यह कहने जैसा है कि "एक रिलेशनल डेटाबेस डिस्क पर फ़ाइल से ज्यादा नहीं है" या "एक घर ईंट से ज्यादा नहीं है"।

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

एक सॉकेट कनेक्शन सिर्फ एक निम्न स्तर के अमूर्त जो कहता है: "वर्तमान में दो कार्यक्रमों, एक दूसरे के नेटवर्क पर डेटा भेज सकते हैं कम से कम जब तक कनेक्शन किसी कारण से तोड़ता है "। तो हाँ, आमतौर पर एक संदेश कतार काम करने के लिए सॉकेट कनेक्शन का उपयोग करेगा।

+0

ओह ठीक है, धन्यवाद। तो जब कोई वास्तव में डेटा स्थानांतरित करने के लिए केवल सॉकेट का उपयोग करता है, तो वे चीजों को अपने लिए अधिक मैन्युअल और जटिल बनाते हैं? मेरा मतलब है कि मैसेजिंग कतार सिर्फ हमारे लिए चीजों को आसान बनाने के लिए शीर्ष पर आती है। शुद्ध फ़ाइल के शीर्ष पर डेटाबेस की तरह। मुझे लगता है कि उस व्यक्ति का मतलब हो सकता है कि इसमें कोई भी सुविधा शामिल नहीं है जिसे आप स्वयं सॉकेट का उपयोग करके कार्यान्वित नहीं कर सकते हैं और उन्हें मैन्युअल रूप से कोड कर सकते हैं। स्पष्टीकरण के लिए वैसे भी धन्यवाद। – Sara

+0

तो यहाँ मेरे ऊपर सवाल करने के लिए अपने जवाब है: "हम एक सरल सॉकेट कनेक्शन का उपयोग कर मैसेजिंग लागू कर सकते हैं फायदे और नुकसान:।। सॉकेट स्तर कोडिंग की संभावना अधिक कॉम्पैक्ट और हमारी जरूरतों पर आधारित है हालांकि, यह प्रबंधित करने के लिए डेवलपर की आवश्यकता कई संकुल में पहले से ही उपलब्ध क्षमताओं। चुनाव कई कारकों (समय, लागत, प्रतिभा, भविष्य प्रतिभा) के आधार पर निर्णय किया गया है " – Sara

+2

जवाब निश्चित रूप से सच है लेकिन यह भी काफी सामान्य है। इसमें आपके स्वयं के http सर्वर, डेटाबेस, ऑपरेटिंग सिस्टम और अन्य चीजों को रोल करने जैसी चीजें शामिल हैं। जब आप बहुत विशिष्ट और एक ही समय में है घर काढ़ा के साथ इस तरह परिपक्व उत्पादों की जगह शायद मामलों में केवल यथार्थवादी है बहुत सीमित आवश्यकताओं (जैसे कि जब आप एक कतार है कि अविश्वसनीय रूप से तेजी से और कॉम्पैक्ट हो गया है, लेकिन विश्वसनीय होने की जरूरत नहीं है या सुरक्षित)। – fdreger