Tornado – एसिंक्रोनस वेब सर्वर (हिंदी में पूरी गाइड)

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Tornado: Python के एसिंक्रोनस वेब फ्रेमवर्क की संपूर्ण गाइड

Tornado क्या है?

Tornado एक शक्तिशाली एसिंक्रोनस वेब सर्वर और Python के लिए वेब फ्रेमवर्क है, जिसे विशेष रूप से बड़ी संख्या में एक साथ कनेक्शन को संभालने के लिए डिज़ाइन किया गया है। FriendFeed टीम (जिसे बाद में Facebook ने खरीद लिया) द्वारा बनाया गया, Tornado Python में एसिंक्रोनस प्रोग्रामिंग के क्षेत्र में अग्रणी बन गया।

Tornado का मुख्य दर्शन नॉन-ब्लॉकिंग इनपुट-आउटपुट और इवेंट-आधारित आर्किटेक्चर का उपयोग करना है। यह एक ही प्रक्रिया को एक साथ हजारों कनेक्शनों को सेवा देने की अनुमति देता है, जो इसे हाई-लोड वेब एप्लिकेशन, चैट, रियल-टाइम सिस्टम और API सेवाओं के लिए एक आदर्श विकल्प बनाता है।

Tornado की मुख्य विशेषताएं और लाभ

एसिंक्रोनस आर्किटेक्चर

Tornada इवेंट-ड्रिवन प्रोग्रामिंग मॉडल का उपयोग करता है, जो एक ही थ्रेड में कई अनुरोधों को संसाधित करने की अनुमति देता है। यह कॉन्टेक्स्ट स्विचिंग और मेमोरी प्रबंधन के ओवरहेड को काफी कम करता है।

अंतर्निहित HTTP सर्वर

कई अन्य फ्रेमवर्क के विपरीत, Tornado में अपना स्वयं का HTTP सर्वर शामिल है, जो एप्लिकेशन को डिप्लॉय करने के लिए WSGI जैसे अतिरिक्त घटकों की आवश्यकता को समाप्त करता है।

WebSocket समर्थन

Tornado WebSocket कनेक्शन के लिए मूल समर्थन प्रदान करता है, जो इसे इंटरैक्टिव रियल-टाइम एप्लिकेशन बनाने के लिए एक उत्कृष्ट विकल्प बनाता है।

asyncio के साथ संगतता

संस्करण 5.0 से, Tornado asyncio के साथ पूरी तरह से संगत है, जो आपको अन्य Python एसिंक्रोनस लाइब्रेरी के साथ इसका उपयोग करने की अनुमति देता है।

लचीली रूटिंग प्रणाली

Tornada रेगुलर एक्सप्रेशन और पैरामीटर के समर्थन के साथ एक शक्तिशाली URL रूटिंग सिस्टम प्रदान करता है।

अंतर्निहित टेम्पलेट इंजन

फ्रेमवर्क में डायनामिक कंटेंट के साथ HTML पेज जनरेट करने के लिए अपना स्वयं का टेम्पलेट इंजन शामिल है।

इंस्टॉलेशन और एनवायरनमेंट सेटअप

Tornado इंस्टॉल करना

pip install tornado

अतिरिक्त सुविधाओं के लिए, आप अतिरिक्त पैकेज इंस्टॉल कर सकते हैं:

# MongoDB के लिए
pip install motor

# PostgreSQL के लिए
pip install asyncpg

# Redis के लिए
pip install aioredis

प्रोजेक्ट संरचना

Tornado प्रोजेक्ट के लिए अनुशंसित संरचना:

project/
├── app.py                 # मुख्य एप्लिकेशन फ़ाइल
├── handlers/              # अनुरोध हैंडलर
│   ├── __init__.py
│   ├── base.py
│   ├── auth.py
│   └── api.py
├── models/                # डेटा मॉडल
│   ├── __init__.py
│   └── user.py
├── templates/             # HTML टेम्पलेट
│   ├── base.html
│   ├── index.html
│   └── error.html
├── static/                # स्टैटिक फ़ाइलें
│   ├── css/
│   ├── js/
│   └── images/
├── config/                # कॉन्फ़िगरेशन फ़ाइलें
│   ├── __init__.py
│   └── settings.py
└── requirements.txt       # प्रोजेक्ट निर्भरताएं

पहला एप्लिकेशन बनाना

बेसिक उदाहरण

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Tornado में आपका स्वागत है!")

class AboutHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("हमारे बारे में पेज")

def make_app():
    return tornado.web.Application([
        (r"/", MainHandler),
        (r"/about", AboutHandler),
    ])

if __name__ == "__main__":
    app = make_app()
    app.listen(8888)
    print("सर्वर http://localhost:8888 पर चल रहा है")
    tornado.ioloop.IOLoop.current().start()

पैरामीटर के साथ एप्लिकेशन सेटअप

import tornado.web
import tornado.ioloop
import os

class Application(tornado.web.Application):
    def __init__(self):
        handlers                    

अनुशंसाएँ