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