Tornado是使用Python开发的全栈式(full- stack)Web框架和异步网络库,最早由Friendfeed开发。通过使用非阻塞IO,Tornado可以处理数以万计的开放连接,是long polling、WebSockets和其他需要为用户维护长连接应用的理想选择。
Tornado 跟其他主流的Web服务器框架(主要是Python框架)不同是采用epoll非阻塞IO,响应快速,可处理数千并发连接,特别适用用于实时的Web服务。
Tornado 主要分成四个部分:
Web 框架(包括 RequestHandler,用于创建Web程序的基类,以及各种支持类)
实现 HTTP 的客户端和服务器端 (HTTPServer 和 AsyncHTTPClient).
一个异步网络库 (IOLoop 和 IOStream)
一个协程库(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()