2017-08-15 13 views
8

मैं कुबर्नेट्स क्लस्टर में होस्ट किए गए कंटेनर में uwsgi का उपयोग कर रहा हूं। यूडब्ल्यूएसजीआई आवेदन के लिए बेहतर उपलब्धता प्रदान करने के लिए पारंपरिक master/slave architecture का समर्थन करता है लेकिन मेरा सवाल यह है कि, क्या मुझे इस सुविधा का भी उपयोग करना चाहिए?क्या यह कुबर्नेट्स पॉड में एकाधिक प्रक्रियाओं/थ्रेडों के लिए आवश्यक है?

दूसरे शब्दों में, जब मुझे अनुरोधों को संभालने और गणना करने के लिए और अधिक प्रक्रियाओं की आवश्यकता होती है, तो क्या मुझे क्लस्टर में फली की संख्या में वृद्धि करनी चाहिए या क्या मुझे अनुरोधों का जवाब देने के लिए अभी भी यूडब्ल्यूएसजीआई के मास्टर/गुलाम मोड का उपयोग करना चाहिए?

+0

मुझे लगता है कि यदि आप बेहतर प्रदर्शन प्राप्त करते हैं तो आपको बेहतर प्रदर्शन – Efazati

उत्तर

4

उपलब्धता को बनाए रखने के लिए पर्याप्त धागे/प्रक्रियाओं/फली होने के प्रति सचेत रहें यदि आपका HTTP अनुरोध प्रत्येक HTTP अनुरोध (जैसे Django) की सेवा करते समय ब्लॉक करता है। यदि आप एक क्षैतिज पॉड ऑटोस्केकर का उपयोग कर रहे हैं, तो कुछ पॉड स्टार्टअप समय होने जा रहे हैं, और मुझे एक उच्च ट्रैफिक एप्लिकेशन के साथ मिला, मुझे यूवीजीआई के साथ बेहतर उपलब्धता मिली और प्रत्येक फली (एक ही कंटेनर) के भीतर आवेदन, और एक अलग nginx फली रिवर्स प्रॉक्सीइंग करना और पूलिंग का अनुरोध करना जब सभी यूवीजीआई कर्मचारी व्यस्त थे।

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

+0

मेरा +1। मुझे uwsgi और Django के बारे में एक ही भावना है। यदि यह HTTP अनुरोध को अवरुद्ध कर रहा है, तो आपको एक से अधिक प्रक्रिया आईएमओ की आवश्यकता है। –

3

कुबर्नेट्स में इसे प्रबंधित करने के लिए अनुशंसित तरीका वर्कलोड आवश्यकताओं के आधार पर पीओडी की संख्या में वृद्धि करना है।

+1

धन्यवाद मिलता है। और इसका मतलब है कि कंटेनर के अंदर केवल एक धागा/प्रक्रिया होनी चाहिए? –

+1

हां, केवल एक प्रक्रिया होने के कारण कंटेनर के लिए सबसे अच्छा अभ्यास है। प्रक्रिया के अंदर कई धागे हो सकते हैं। – sfgroups

2

हम एक तैनाती मॉडल का उपयोग करते हैं जिसमें एक डोजंगो आधारित ऐप को दो कार्यकर्ता प्रक्रियाओं के साथ बंदूकधारी द्वारा परोसा जाता है। हमने इस फली को 2-3 प्रतिकृतियों में स्केल करने की कोशिश की है और प्रदर्शन में सुधार देखा है।

यह आपके ऐप के लिए पूरी तरह से काम करता है।

स्केलिंग फली का लाभ यह है कि आप इसे गतिशील रूप से कॉन्फ़िगर कर सकते हैं, इसलिए संसाधनों को बर्बाद नहीं कर सकते हैं।

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