2010-10-20 12 views
22

क्या है I इवेंट ड्राइव किए गए वेब सर्वर की मूल बातें समझना चाहते हैं, मुझे पता है कि उनमें से एक टॉरनाडो है, लेकिन किसी अन्य जानकारी की बहुत सराहना की जाती है।इवेंट संचालित वेब सर्वर

धन्यवाद

+0

क्यों एक बंद करने का अनुरोध है कि, इस सवाल का अनुचित है? – Anonymous

उत्तर

12

एक वेब सर्वर समवर्ती कनेक्शन संभाल करने की जरूरत है। ऐसा करने के कई तरीके हैं, उनमें से कुछ हैं:

  • प्रति कनेक्शन एक प्रक्रिया।
  • प्रति कनेक्शन एक प्रक्रिया, और उपयोग करने के लिए तैयार प्रक्रियाओं का एक पूल है।
  • प्रति कनेक्शन एक धागा।
  • प्रति कनेक्शन एक थ्रेड, और उपयोग के लिए तैयार धागे का एक पूल है।
  • एक एकल प्रक्रिया, कॉलबैक पर प्रत्येक ईवेंट (स्वीकृत कनेक्शन, पढ़ने के लिए उपलब्ध डेटा, क्लाइंट को लिख सकते हैं ...) को संभालती है।
  • उपर्युक्त का कुछ संयोजन।
  • ...

अंत में, भेद कैसे आप प्रत्येक कनेक्शन राज्य की दुकान में किया जा रहा समाप्त होता है (स्पष्ट रूप से एक संदर्भ संरचना में, परोक्ष ढेर में, परोक्ष एक निरंतरता में, ...) और आप कनेक्शन के बीच कैसे शेड्यूल करते हैं (ओएस शेड्यूलर इसे करने दें, ओएस मतदान प्राइमेटिव्स इसे करने दें, ...)।

1

घटना-संचालित ढंग C10K समस्या को हल करने में करना है। यह गैर-अवरुद्ध घटना I/O बनाने के लिए पारंपरिक 'पुश मॉडल' को 'पुल मॉडल' में बदल देता है। सीधे शब्दों में कहें, घटना-संचालित आर्किटेक्चर अतिरिक्त थ्रेड और थ्रेड संदर्भ स्विचिंग ओवरहेड्स को बढ़ाने से बचते हैं, और आमतौर पर बेहतर प्रदर्शन और कम संसाधन खपत के साथ समाप्त होता है।

एक रेल डेवलपर की ओर से कुछ सिंहावलोकन, यह भी सादृश्य में शामिल हैं: http://odysseyonrails.com/articles/8

+0

ध्यान दें कि लिंक-केवल उत्तर निराश होते हैं, इसलिए SO समाधान एक समाधान के लिए खोज का अंत बिंदु होना चाहिए (बनाम अभी तक संदर्भों का एक और स्टॉपओवर, जो समय के साथ पुराना हो जाता है)। लिंक को संदर्भ के रूप में रखते हुए, यहां स्टैंड-अलोन सारांश जोड़ना पर विचार करें। – kleopatra

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