一、Tornado简介
Tornado全称Tornado Web Server,是一个用Python语言写成的Web服务器兼Web应用框架,由FriendFeed公司在自己的网站FriendFeed中使用,被Facebook收购以后框架在2009年9月以开源软件形式开放给大众。
特点:
- 作为Web框架,是一个轻量级的Web框架,类似于另一个Python web框架Web.py,其拥有异步非阻塞IO的处理方式。
- 作为Web服务器,Tornado有较为出色的抗负载能力,官方用nginx反向代理的方式部署Tornado和其它Python web应用框架进行对比,结果最大浏览量超过第二名近40%。
性能: Tornado有着优异的性能。它试图解决C10k问题,即处理大于或等于一万的并发。
C10K:Concurrently handling ten thousand connections,即并发10000个连接
Tornado可以大致分为四个主要部分:
- 一个Web框架(包括RequestHandler它的子类创建Web应用程序和各种支持类)。
- HTTP(HTTPServer和 AsyncHTTPClient)的客户端和服务器端实现。
- 异步网络库包括类IOLoop 和IOStream,其充当用于HTTP组件的构建块,并且还可以用于实现其它协议。
- 一个协程库(tornado.gen)允许异步代码以比链接回调更直接的方式编写。
Tornado Web框架和HTTP服务器一起提供WSGI的全栈替代方案。尽管可以在WSGI容器中使用Tornado We