मैं क्लस्टर और सॉकेट से जूझ रहा हूं। हर बार जब मैं क्लस्टर फ़ंक्शन का उपयोग करता हूं (हालांकि मैं बिल्ट इन नोडज क्लस्टर का उपयोग करता हूं) मुझे सॉकेट के साथ प्रदर्शन समस्याओं और मुद्दों का एक बहुत कुछ मिलता है।
इस पर शोध करने की कोशिश करते हुए, मैं बग रिपोर्ट के आसपास खुदाई कर रहा हूं और सॉकेट.आईओ गिट और क्लस्टर या बाहरी लोड बैलेंसर्स का उपयोग करने वाले किसी भी व्यक्ति को अपने सर्वर पर सॉकेट के साथ समस्या है।
ऐसा लगता है कि समस्या "क्लाइंट हैंडशेक क्लाइंट को फिर से कनेक्ट नहीं करना चाहिए" जो आप देखेंगे कि क्या आप वर्बोज़ लॉगिंग बढ़ाते हैं। जब भी socket.io क्लस्टर में चलता है तो यह बहुत दिखाई देता है, इसलिए मुझे लगता है कि यह इस पर वापस आ जाता है। यानी क्लाइंट हर बार एक नया कनेक्शन करने पर socket.io क्लस्टर में यादृच्छिक उदाहरण से जुड़ जाता है (यह अधिकृत करते समय कई http/socket/flash कनेक्शन करता है और नए डेटा के लिए मतदान करते समय हर समय अधिक होता है)।
अभी के लिए मैं एक बार में केवल 1 socket.io प्रक्रिया का उपयोग करने के लिए वापस लौट आया हूं, यह एक बग हो सकता है लेकिन यह भी एक कमी हो सकती है कि कैसे socket.io बनाया गया है।
जोड़ा गया:भविष्य में इसे हल करने का मेरा तरीका क्लस्टर के अंदर प्रत्येक सॉकेट.आईओ इंस्टेंस के लिए एक अद्वितीय पोर्ट असाइन करना और फिर क्लाइंट साइड पर कैश पोर्ट चयन करना होगा।