如何理解tornado
- 作为webserver,采用的是asynchronous IO的网络模型,很高效的模型
- 简单的python框架,url基于正则,有自己的模板实现
- 没有orm 类似于web.py
- 非阻塞异步io,类似于nodejs
- web framework,可以直接构建自己的web程序
- 支持WSGI(python web server gateway interface)可以和其他一些框架django,boottle,flask 一起使用
- WSGI 的框架是不支持异步的。
- 有异步调用的逻辑web程序,tornado是选择之一
特点
- 高性能的网络库,提供了异步io支持,超时事件处理,在此基础上提供了tcpserver,httpclient,可以用来做爬虫,游戏服务器。
- web框架,提供了路由,模板,异步,适合长轮询(flask+gevent)
- 较为完备的http服务器
- 完备的wsgi服务器,可以让flask运行在tornado上,加速flask
- 提供了完备的websocket支持,websocket对手机支持不是太好?
- 关于web’后端mysql driver同步阻塞,可以试试torndb
OpenResty
通过lua扩展nginx实现可伸缩的web平台
- 是一款基于nginx和lua 的高性能web平台
- 内部集成了大量精良的lua库,第三方模块
- 很方便的搭建处理高并发,扩展性极高的动态web应用,web服务和动态网关
- 目标:让web服务器直接跑在nginx服务器内部,充分利用nginx的非阻塞io模型
- OpenResty link