2017-10-30 16 views
5

मैं क्या समझ से, डोकर कंटेनरों से अधिक थ्रेड उपयोग करें, और Node.js अनुप्रयोगों केवल एक ही धागे का उपयोग करें। pm2 जैसे कुछ चलाकर, जो नोड.जेएस क्लस्टरिंग को संभालता है, मैं डॉकर कंटेनर के लिए उपलब्ध सभी कोर का उपयोग कर सकता हूं।Node.js क्लस्टरिंग बनाम कई डोकर कंटेनर

इस मैं Node.js प्रक्रियाओं क्लस्टरिंग द्वारा प्रत्येक डोकर उदाहरण का अधिक से अधिक उपयोग हो सकता था मतलब होगा? यदि हां, तो क्या यह केवल एक थ्रेडेड Node.js उदाहरण प्रति कंटेनर चलाने के लिए पसंद नहीं किया जाएगा?

एक चिंता का विषय हो सकता है अगर यह दुष्प्रभाव स्केलिंग एक डोकर कंटेनर की संभावना से या उस पर चल रहे CPUs की संख्या नीचे की वजह से है।

उत्तर

2

सीधे मुद्दे पर जा रहे हैं, ऐसा लगता है कई कंटेनर की तरह अब तक क्लस्टर समर्थन के साथ एक ही कंटेनर की तुलना में बेहतर प्रदर्शन करते हैं। यह निर्णायक नहीं है, लेकिन इसे जांचें: Performance and reliability when using multiple Docker containers VS standard Node cluster

0

सबसे पहले, आपको अनिवार्य रूप से नोड क्लस्टर चलाने के लिए pm2 की आवश्यकता नहीं है। बहु कोर मशीन का लाभ उठाने के लिए नोड एक इनबिल्ट clusters module के साथ आता है। इसके अलावा, एक उदाहरण को स्केल करने से वास्तव में कोई प्रभाव नहीं पड़ता है जब तक आप श्रमिकों की संख्या को हार्डकोड नहीं करते। क्लस्टर मॉड्यूल में उदाहरण कोड का संदर्भ लें कि आप क्लस्टर का उपयोग करके श्रमिकों को कैसे बढ़ा सकते हैं।

+0

मुझे लगता है कि प्रश्न क्लस्टरिंग बनाम एकाधिक डॉकर कंटेनर के बारे में है और ऐप क्लस्टरिंग नहीं है - pm2 सिर्फ एक उदाहरण था :-) – stefanobaldo

0

यदि आप किसी अन्य डोकर घटक अंदर NodeJS क्लस्टरिंग बारे में बात कर रहे हैं, तो मुझे नहीं लगता कि आप एक अतिरिक्त बढ़ावा देने होगा। आपके जैसे नोडजेएस ने कहा कि एक ही धागे में चलता है तो या तो pm2 (मैं वास्तव में इसका उपयोग करता हूं) या डॉकर का भार वितरण के संदर्भ में समान प्रभाव होगा।

NodeJS वेब कार्यकर्ताओं की एक अवधारणा है कि यह कैसे आने वाले अनुरोधों को हैंडल लेकिन फिर भी एक इतनी तेजी से नहीं सर्वर अनुरोधों के सैकड़ों संभाल लेंगे क्योंकि एक गैर अवरुद्ध वास्तुकला है संभाल करने के लिए है।

मुझे पता है कि मुझे अभी भी डॉकर में खोदने की जरूरत है जो मैं चाहता हूं लेकिन मेरे पास समय नहीं है लेकिन मैं क्या करूंगा कि प्रति डॉकर छवि प्रति सर्वर (या तो आभासी या भौतिक) हो और फिर pm2 कई चलाएं इसके अंदर नोड के उदाहरण।

इस का कारण यह है कि मैं डोकर मेरे लिए निर्भरता हैंडल करना चाहते है और मैं के बाद से यह स्वचालित रूप से जब स्मृति लक्ष्य तक पहुँच जाता है या एक errored नोड को पुनः आरंभ करने को पुनः आरंभ करने की तरह शांत सुविधाओं की है PM2 क्लस्टर प्रबंधन हैंडल करना चाहते

+0

"नोडजेएस के पास वेब श्रमिकों की अवधारणा" का क्या मतलब है? –

+0

शायद वेब श्रमिक सबसे अच्छा शब्द नहीं है, लेकिन मेरा मतलब है कि अधिकतम सॉकेट जिन्हें आप कॉन्फ़िगर कर सकते हैं: http.globalAgent.maxSockets – sfratini

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