मैं नोड.जेएस के लिए नया हूं और वर्तमान में इसकी विश्वसनीयता पर सवाल उठा रहा हूं।बड़े आवेदन के लिए Node.js विश्वसनीयता
जो मैंने अभी तक देखा है उसके आधार पर, एक बड़ी खामियां प्रतीत होती हैं: कोई भी त्रुटि/अपवाद सर्वर को क्रैश नहीं करता है। निश्चित रूप से, आप अपने कोड को बुलेट-सबूत करने का प्रयास कर सकते हैं या प्रमुख क्षेत्रों में कोशिश/पकड़ सकते हैं, लेकिन क्रैक के माध्यम से लगभग हमेशा बग्स फिसल जाएंगे। और यह खतरनाक प्रतीत होता है यदि एक समस्याग्रस्त अनुरोध अन्य सभी अनुरोधों को प्रभावित कर सकता है।
उपयोग डेमॉन या forever तरह मॉड्यूल स्वचालित रूप से सर्वर को पुनः आरंभ करने जब यह दुर्घटनाओं: वहाँ 2 समाधान है कि मैंने पाया है। जिस चीज़ को मुझे इस बारे में पसंद नहीं है वह यह है कि सर्वर अभी भी एक या दो के लिए नीचे है (एक बड़ी साइट के लिए, जो अनुरोध के सैकड़ों (हजारों?) हो सकता है)।
process.on('uncaughtException')
का उपयोग कर अपूर्ण अपवादों को पकड़ें। इस दृष्टिकोण के साथ समस्या (जहां तक मुझे पता है) यह है कि अपवाद का कारण बनने वाले अनुरोध का संदर्भ प्राप्त करने का कोई तरीका नहीं है। इसलिए कि विशेष अनुरोध लटका दिया गया है (उपयोगकर्ता टाइमआउट तक लोडिंग सूचक देखता है)। लेकिन कम से कम इस मामले में, अन्य गैर-समस्याग्रस्त अनुरोधों को अभी भी संभाला जा सकता है।
क्या कोई भी नोड.जेएस अनुभवी पिच कर सकता है?
मैं बड़ी साइट पर खोए गए अनुरोधों के "सैकड़ों हजारों" के बारे में कुछ नहीं खरीदता हूं। एक बड़ी साइट क्षैतिज रूप से स्केल की जाएगी ताकि एक ही प्रक्रिया केवल कुल यातायात के एक छोटे से हिस्से को प्रभावित करेगी। – Kevin
संभावित डुप्लीकेट: http://stackoverflow.com/questions/7310521/node-js-best-practice-exception-handling http://stackoverflow.com/questions/9181027/node-js-doesnt-display-entire- त्रुटि-संदेश-पर-uncaughtexception-is-it-possibl हालांकि मुझे लगता है कि स्वीकार्य उत्तर संतोषजनक नहीं हैं? – Dirk
@ केविन जो अभी भी सैकड़ों में हो सकता है या फिर भी अस्वीकार्य –