1.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等公司。

Tornado框架的主要特点如下。

•它是一种非阻塞式服务器框架。

•运行速度快。

•可以并发打开数千连接。

•支持WebSocket连接。

在现实应用中,通常将Tornado框架分为如下4个部分。

•tornado.Web:创建Web应用程序的Web框架。

•HTTPServer和AsyncHTTPClient:HTTP服务器与异步客户端。

•IOLoop和IOStream:异步网络功能库。

•tornado.gen:协程库。