2010-11-18 7 views
71

ठीक है, टोरनाडो गैर-अवरुद्ध और काफी तेज़ है और यह आसानी से कई स्थायी अनुरोधों को संभाल सकता है।टोरनाडो का उपयोग कब और कैसे करें? यह बेकार कब है?

लेकिन मुझे लगता है कि यह एक चांदी की बुलेट नहीं है और यदि हम सिर्फ अंजुक रूप से Django- या टोरनाडो के साथ किसी अन्य साइट को चलाते हैं तो यह कोई प्रदर्शन बढ़ावा नहीं देगा।

मैं इस का व्यापक विवरण नहीं मिल सका है, इसलिए मैं इसे यहाँ पूछ रहा हूँ:

  • जब बवंडर इस्तेमाल किया जाना चाहिए?
  • यह बेकार कब है?
  • इसका उपयोग करते समय, खाते में क्या लिया जाना चाहिए?
  • हम अक्षम कर सकते हैं टोरनाडो का उपयोग कर साइट?
  • एक सर्वर और एक वेबफ्रेमवर्क है। हमें ढांचे का उपयोग कब करना चाहिए और हम इसे दूसरे के साथ कब बदल सकते हैं?

उत्तर

37

एक सर्वर और एक वेबफ्रेमवर्क है। हमें ढांचे का उपयोग कब करना चाहिए और हम इसे दूसरे के साथ कब बदल सकते हैं?

यह भेद थोड़ा धुंधला है। केवल तभी जब आप स्थिर पृष्ठों की सेवा कर रहे हैं, तो आप एक तेज सर्वर जैसे lighthttpd का उपयोग करेंगे। अन्यथा, अधिकांश सर्वर वेब अनुप्रयोगों को विकसित करने के लिए ढांचे की एक अलग जटिलता प्रदान करते हैं। टोरनाडो एक अच्छा वेब ढांचा है। मुड़ना और भी सक्षम है और इसे एक अच्छा नेटवर्किंग ढांचा माना जाता है। इसमें बहुत सारे प्रोटोकॉल का समर्थन है।

टोरनाडो और ट्विस्ट फ्रेमवर्क हैं जो समर्थन गैर-अवरुद्ध, एसिंक्रोनस वेब/नेटवर्किंग अनुप्रयोग विकास प्रदान करते हैं।

टोरनाडो का उपयोग कब किया जाना चाहिए? यह बेकार कब है? इसका उपयोग करते समय, खाते में क्या लिया जाना चाहिए?

इसकी प्रकृति से, Async/Non-Blocking I/O बहुत अच्छा काम करता है जब यह I/O गहन होता है और गहन गणना नहीं करता है। अधिकांश वेब/नेटवर्किंग अनुप्रयोग इस मॉडल के लिए अच्छी तरह से उपयुक्त हैं। यदि आपका आवेदन कुछ कम्प्यूटेशनल गहन कार्य करने की मांग करता है तो उसे किसी अन्य सेवा में सौंपना होगा जो इसे बेहतर तरीके से संभाल सकता है। जबकि टोरनाडो/ट्विस्ट वेब सर्वर का काम कर सकते हैं, वेब अनुरोधों का जवाब दे रहे हैं।

हम टोरनाडो का उपयोग करके अक्षम साइट कैसे बना सकते हैं?

  1. किसी भी बात कम्प्यूटेशनल गहन कार्य करते
  2. अवरुद्ध परिचय संचालन

लेकिन मुझे लगता है कि यह एक चांदी की गोली नहीं है और अगर हम बस आँख बंद करके चलाने Django आधारित या के साथ किसी भी अन्य साइट टॉरनाडो यह कोई प्रदर्शन बढ़ावा नहीं देगा।

प्रदर्शन आमतौर पर पूर्ण वेब अनुप्रयोग आर्किटेक्चर की विशेषता है।यदि एप्लिकेशन सही ढंग से डिज़ाइन नहीं किया गया है, तो आप अधिकांश वेब ढांचे के साथ प्रदर्शन को कम कर सकते हैं। कैशिंग, भार संतुलन इत्यादि के बारे में सोचें

टोरनाडो और ट्विस्ट उचित प्रदर्शन प्रदान करता है और एक बहुत ही प्रदर्शनकारी वेब एप्लिकेशन बनाने के लिए अच्छा है। आप मोड़ और तूफान दोनों के लिए प्रशंसापत्र देख सकते हैं ताकि वे यह देख सकें कि वे क्या कर सकते हैं।

+1

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

+0

यदि हां - फ्लूप के साथ चलने की तुलना में अंतर क्या होगा? धन्यवाद। –

+0

मैं टोरनाडो एप्लिकेशन में आरएसएस फ़ीड को पार्स करना चाहता हूं। क्या आप उस पर काफी कम्प्यूटेशनल गहन मानेंगे? –

4

मुझे पुराने प्रश्न का उत्तर देने के लिए खेद है, लेकिन मैं इस पर आया और आश्चर्य हुआ कि इसका अधिक जवाब क्यों नहीं था। बार्ट जम्मू के सवाल का जवाब करने के लिए:

I would like to parse RSS feeds in the Tornado application. Would you consider that fairly computationally intensive? 

खैर कि पार्स करने आप कर रहे हैं और क्या हार्डवेयर :) लंबे समय पर किस तरह लंबे समय है पर निर्भर करता है, इसलिए यदि आपका एप्लिकेशन अधिक लेता है की तुलना में आधे से एक प्रतिक्रिया करने के लिए दूसरे का कहना है , यह सुस्त लग जाएगा - अपने ऐप को प्रोफाइल करें।

फास्ट सिस्टम की कुंजी महान वास्तुकला है, उदाहरण के लिए निर्दिष्ट नहीं है कि आप किस ढांचे का उपयोग कर रहे हैं (ट्विस्टेड, टॉरनाडो, अपाचे + PHP)। टॉरनाडो में एक एसिंक्रोनस प्रसंस्करण शैली है और यह वास्तव में मेरी राय में बहुत कुछ नीचे आता है। नोड.जेएस, ट्विस्ट और यॉज अन्य एसिंक्रोनस वेब सर्वर के उदाहरण हैं जो हल्के दृष्टिकोण और एसिंक्रोनस प्रोसेसिंग शैली के कारण बहुत अच्छी तरह से स्केल करते हैं।

तो:

When should Tornado be used? 
When is it useless? 

तूफान, बहुत-से संपर्क से निपटने के लिए अच्छा है, क्योंकि यह, एक इनकमिंग ग्राहक के लिए प्रतिक्रिया कर सकते हैं एक अनुरोध हैंडलर प्रेषण और है कि ग्राहक बारे में नहीं सोचता, जब तक परिणाम-कॉलबैक है घटना कतार पर धक्का दिया। तो उस विशिष्ट गुणवत्ता के लिए टोरनाडो का उपयोग तब किया जाना चाहिए जब आप बहुत से अनुरोधों को संभालने के दौरान अच्छी तरह से स्केल करना चाहते हैं। एसिंक प्रोसेसिंग कार्यात्मक decoupling और साझा-कुछ भी डेटा उपयोग की सुविधा प्रदान करता है। यह REST या अन्य Service Oriented Architecture एस जैसे स्टेटलेस डिज़ाइन के साथ वास्तव में अच्छी तरह से स्विंग करता है। आपको अंतर्निहित ओवरहेड के साथ स्पॉन्गिंग धागे या प्रक्रियाओं से निपटने की ज़रूरत नहीं है और आप लॉकिंग/आईपीसी परेशानी को बचा सकते हैं।

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

+0

क्या होगा यदि आपके पास ऐसी सेवा में कुछ संचालन हैं जो कम्प्यूटेशनल गहन हैं (कहें> 1sec)? क्या गैर-अवरुद्ध तरीके से इस तरह की प्रसंस्करण करना अभी भी संभव है? – tigeronk2

+0

@ tigeronk2 हां, लेकिन आपको किसी अन्य धागे/प्रक्रिया में गणना चलाने की आवश्यकता होगी। –

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