2012-06-07 10 views
7

मैं वर्तमान में DerbyJS के साथ काम कर रहा हूं क्योंकि यह साफ, DRY क्लाइंट/सर्वर कोड को बढ़ावा देता है। साइड-फायदे (मुख्य कारण फ्रेमवर्क का उपयोग करने का मुख्य कारण) क्या यह रीयलटाइम ऐप्स बनाने के लिए सॉकेट.आईओ का उपयोग करता है। इस मामले में, मुझे रीयलटाइम की आवश्यकता नहीं है, लेकिन यह एक अच्छा जोड़ा है।सॉकेट.आईओ - खुले कनेक्शन एक चिंता है?

मेरा सवाल है - क्या मैं सॉकेट.आईओ का उपयोग करके स्केलेबिलिटी/प्रदर्शन का त्याग कर रहा हूं, और यह उन सभी खुले कनेक्शनों को बनाए रखता है? बैकबोन + एक्सप्रेसजेएस मुक्त संसाधनों का उपयोग करना होगा क्योंकि कोई खुला कनेक्शन नहीं है?

उत्तर

10

खुले कनेक्शन के समूह को स्पष्ट रूप से सर्वर ओवरहेड के मामले में कुछ लागत है, लेकिन मुझे इस तरह की चिंताओं के बारे में चिंता नहीं होगी जब तक कि आपके पास कोई स्पष्ट स्केलिंग समस्या न हो। एक बार जब आपके पास एक स्पष्ट स्केलिंग समस्या हो, तो आपके पास अधिक सर्वर संसाधन खरीदने के लिए पर्याप्त आय होनी चाहिए। सर्वर बहुत सस्ते हैं और आपका समय बहुत महंगा है। छोटी चीजों को अनुकूलित करने के बारे में चिंता न करें।

+0

आम तौर पर मुझे लगता है कि ये अंगूठे के मामूली अच्छे नियम हैं, लेकिन वे बहुत व्यवसाय संचालित हैं। सभी सॉफ्टवेयर एक व्यापार संदर्भ में लिखा नहीं है। फ्यूथर ने कहा, "उस सवाल से मत पूछो, क्योंकि एक्स और वाई" केवल इतना ही कहने से थोड़ा बेहतर है कि "उस सवाल से मत पूछो।" –

5

मैं Socket.IO का उपयोग करके scalability/प्रदर्शन का त्याग कर रहा हूँ, और सभी उन खुले कनेक्शनों यह कहना है?

यदि आप नई जानकारी उपलब्ध होने पर तुरंत अपना पृष्ठ (गतिशील पृष्ठ) अपडेट करना चाहते हैं। फिर गैर-अवरुद्ध io का उपयोग कर कनेक्शन को खोलने के लिए यह करने का सबसे प्रभावी तरीका है। सौभाग्य से node.js गैर-अवरुद्ध io का उपयोग करता है। यह कारण है कि node.js इतना लोकप्रिय है (साथ ही आप जावास्क्रिप्ट में कोड कर सकते हैं, जो सबसे लोकप्रिय प्रोग्रामिंग भाषा है)। यदि आपको वास्तव में इसकी आवश्यकता नहीं है (भविष्य में भी) क्योंकि आपकी वेबसाइट बल्कि स्थैतिक है (जैसा आपने कहा था रीयलटाइम नहीं) तो कनेक्शन बंद करने से आपको संसाधनों को बचाया जाएगा।

बैकबोन + एक्सप्रेसजेएस मुक्त संसाधनों का उपयोग करना होगा क्योंकि खुले कनेक्शन नहीं हैं?

मैं बैकबोन/एक्सप्रेस संयोजन बनाम डर्बीज का उपयोग करके अपनी वेबसाइट विकसित करने के लिए लागत (विकास का समय) देखता हूं।

फिर Nate का उल्लेख सॉकेट.ओओ कई (1000+) समवर्ती कनेक्शन आसानी से संभाल सकता है। यदि डर्बीजेएस का उपयोग करके विकसित करना आसान है तो मैं इसका उपयोग करूंगा। जब आप उस सड़क को पार करते हैं तो आप हमेशा एक्सप्रेस/रीढ़ की हड्डी के संयोजन का उपयोग करने के लिए अपनी वेबसाइट को अधिक सर्वर जोड़ने या फिर से डिजाइन करने (अतिरिक्त प्रोग्रामर किराए पर ले सकते हैं) का निर्णय ले सकते हैं। सबसे पहले उस बिंदु पर पहुंचने का प्रयास करें जहां उपयोगकर्ता आपकी वेबसाइट को सबसे छोटी राशि के प्रयास (विकास के समय) के साथ मूल्यवान पाते हैं।

पीएस: मुझे लगता है कि आपको अपने सिस्टम को जितना संभव हो मॉड्यूलर रखने की कोशिश करनी चाहिए ताकि किसी और चीज़ के लिए Derby.js को प्रतिस्थापित किया जा सके, कम से कम समय के साथ किया जा सकता है।

संबंधित मुद्दे