2013-07-31 12 views
5

documentation मैं निम्न देखें में:बोतल और स्केलिंग और संगामिति

केवल एक सीमित फ्लास्क में स्केलिंग के बारे में कारक है जो संदर्भ स्थानीय प्रॉक्सी कर रहे हैं। वे संदर्भ पर निर्भर करते हैं जो फ्लास्क में या तो धागा, प्रक्रिया या ग्रीनलेट के रूप में परिभाषित किया गया है। यदि आपका सर्वर किसी प्रकार की समरूपता का उपयोग करता है जो धागे या ग्रीनलेट्स पर आधारित नहीं है, तो फ्लास्क अब इन वैश्विक प्रॉक्सी का समर्थन करने में सक्षम नहीं होगा। हालांकि अधिकांश सर्वर थ्रेड का उपयोग कर रहे हैं, ग्रीनलेट्स या अलग-अलग प्रक्रियाओं को समेकन प्राप्त करने के लिए जो सभी अंतर्निहित Werkzeug लाइब्रेरी द्वारा समर्थित तरीके हैं।

मेरा प्रश्न: इन 3 तरीकों के अलावा अन्य समवर्ती तंत्र क्या हैं?

उत्तर

2

एक सुंदर दिलचस्प समरूपता तंत्र असीमित मॉडल है। आपके पास एक ही थ्रेड के साथ एक एकल प्रक्रिया है जिसमें पूरे शो चल रहे हैं, सभी I/O या अन्यथा लंबे कार्य एसिंक्रोनस और कॉलबैक आधारित हैं। यह विधि I/O बाध्य सेवाओं के लिए वास्तव में अच्छी तरह से स्केल करती है, इस श्रेणी में सर्वर आसानी से C10K समस्या को संभालते हैं।

उदाहरण के लिए Tornado या node.js देखें।

+0

मूल रूप से हरितलेट द्वारा कवर किया जाता है। – Jahaja

+0

@ जजाजा: नहीं। ग्रीनलेट आधारित वेब सर्वर एक चीज हैं, एसिंक्रोनस (इवेंट संचालित) वेब सर्वर जैसे टोरनाडो एक और चीज हैं। वे दोनों उच्च सहमति के समान लक्ष्य प्राप्त करते हैं, लेकिन वे विभिन्न विधियों का उपयोग करके वहां पहुंचते हैं। विशेष रूप से, फ्लास्क एक ग्रीनलेट आधारित वेब सर्वर के शीर्ष पर काम कर सकता है, लेकिन यह आसानी से एसिंक्रोनस सर्वर पर अनुकूलित नहीं होगा। – Miguel

+0

मेरा मुद्दा यह है कि दोनों समाधान निम्न परतों में आपके द्वारा वर्णित वर्णन का उपयोग करते हैं। Libuv का उपयोग कर libevent/libev और node.js का उपयोग कर Gevent। (कहीं पढ़ना याद रखें कि जारी होने पर गीवेंट 2.0, libuv पर आधारित हो सकता है।) – Jahaja

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