विकल्प 1: एक TCP कनेक्शन बनाने के सामान्य लागत हैं:
- बनाएं गर्तिका कनेक्शन
- डेटा भेजें
- गर्तिका कनेक्शन नीचे आंसू
चरण 1: आवश्यक है पैकेट का आदान-प्रदान, इसलिए नेटवर्क विलंबता और गंतव्य सर्वर के सेवा समय से & तक देरी हो रही है। किसी भी बॉक्स पर कोई महत्वपूर्ण CPU उपयोग शामिल नहीं है।
चरण 2: संदेश के आकार पर निर्भर करता है।
चरण 3: आईआईआरसी, सिर्फ 'बंद करने वाला' पैकेट भेजता है, गंतव्य एके के लिए प्रतीक्षा नहीं करता है, इसलिए कोई विलंबता शामिल नहीं है।
विकल्प 2: यूडीपी की लागत: आवश्यक न्यूनतम सेटअप, कोई विलंबता चिंता: *
- बनाएं यूडीपी वस्तु
- डेटा
- बंद यूडीपी वस्तु
चरण 1 भेजें , बहुत तेज़।
चरण 2: आकार की सावधानी बरतें, यूडीपी में कोई पुन: प्रेषण नहीं है क्योंकि इससे कोई परवाह नहीं है कि पैकेट किसी के द्वारा प्राप्त किया गया था या नहीं। मैंने सुना है कि संदेश जितना बड़ा होगा, डेटा की अधिक संभावना दूषित हो जाएगी, और अंगूठे का नियम यह है कि आप 20 एमबी से अधिक संदेशों का एक निश्चित प्रतिशत खो देंगे।
चरण 3: न्यूनतम कार्य, न्यूनतम समय।
विकल्प 3: का प्रयोग करें ZeroMQ इसके बजाय
आप पुनर्संयोजन समय को कम करने के लक्ष्य के साथ यूडीपी के लिए टीसीपी तुलना कर रहे हैं। एक नाइस कंप्रेमी है: ज़ीरोएमक्यू सॉकेट।
जेडएमक्यू आपको एक प्रकाशन सॉकेट स्थापित करने की अनुमति देता है जहां कोई भी परवाह नहीं करता है अगर कोई सुन रहा है (यूडीपी की तरह), और उस सॉकेट पर एकाधिक श्रोताओं हैं। यह एक यूडीपी सॉकेट नहीं है - यह इन दोनों प्रोटोकॉल का एक विकल्प है।
विवरण के लिए: ZeroMQ.org देखें।
यह बहुत तेज गति और गलती सहनशील है, और उन कारणों से वित्तीय उद्योग में बढ़ते उपयोग में है।
स्रोत
2012-05-16 15:30:19
मुझे लगता है कि हैंडशेक की विलंबता सबसे महत्वपूर्ण लागत है। – CodesInChaos
अहह अच्छा बिंदु। पूरे हैंडशेक को पूरा होने तक कनेक्शन को तब तक खुला नहीं माना जाता है। हालांकि एक बार खुलने पर आप प्रत्येक सेगमेंट (स्लाइडिंग विंडो की वजह से) के लिए इंतजार किए बिना डेटा स्ट्रीम कर सकते हैं – seand
कोई भी 'प्रत्येक सेगमेंट पर एक' नहीं है। – EJP