Contents
23.5.1. Tornado框架简介¶
Tornado也是一种目前比较流行的、强大的、可扩展的Python的Web非阻塞式开源服务器框架,也是一个异步的网络库。让你能够快速简单地编写高速的Web应用。
Tornado是基于Bret Taylor和其他人员为FriendFeed所开发的网络服务框架,当FriendFeed被Facebook收购后得以开源。Tornado在设计之初就考虑到了性能因素,旨在解决C10K问题,这样的设计使得其成为一个拥有非常高性能的框架。此外,它还拥有处理安全性、用户验证、社交网络以及与外部服务(如数据库和网站API)进行异步交互的工具。
自2009年发布以来,Tornado已经获得了很多社区的支持,并且在一系列不同的场合得到应用。除FriendFeed和Facebook外,还有很多公司在生产上转向Tornado,包括Quora、Turntable.fm、Bit.ly、Hipmunk以及MyYearbook等。
其主要特性有:
非阻塞式服务器;
速度相当快;
并发打开数千连接;
支持WebSocket连接。
Tornado库可以大体上分为四个部分:
tornado.Web——创建Web应用程序的Web框架;
HTTPServer和AsyncHTTPClient——HTTP服务器与异步客户端;
IOLoop和IOStream——异步网络功能库;
tornado.gen——协程库。
从编程风格上来看,使用Tornado框架编写Web服务器端更像是面对对象编程。