Tornado - Web服务器


Apache
Windows
Python

软件简介

Tornado是使用Python开发的全栈式(full-
stack)Web框架和异步网络库,最早由Friendfeed开发。通过使用非阻塞IO,Tornado可以处理数以万计的开放连接,是long
polling、WebSockets和其他需要为用户维护长连接应用的理想选择。

Tornado
跟其他主流的Web服务器框架(主要是Python框架)不同是采用epoll非阻塞IO,响应快速,可处理数千并发连接,特别适用用于实时的Web服务。

Tornado 主要分成四个部分:

  • Web 框架(包括 RequestHandler,用于创建Web程序的基类,以及各种支持类)

  • 实现 HTTP 的客户端和服务器端 (HTTPServerAsyncHTTPClient).

  • 一个异步网络库 (IOLoopIOStream)

  • 一个协程库(tornado.gen) ,使得异步调用代码能够以更直接的方式书写,取代回调链接

一个最简单的服务:

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

application = tornado.web.Application([
    (r"/", MainHandler),
])

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()