irpas技术客

Python web框架之tornado(龙卷风)_西京刀客_龙卷风python

网络 4192

Python web框架之Tornado 什么是Tornado

官网:·/tornadoweb/tornado

tornado是Python界中非常出名的一款Web框架,和Flask一样它也属于轻量级的Web框架。

Tornado全称Tornado Web Server,是一个用Python语言写成的Web服务器兼Web应用框架,由FriendFeed公司在自己的网站FriendFeed中使用,被Facebook收购以后框架在2009年9月以开源软件形式开放给大众。

但是从性能而言tornado由于其支持异步非阻塞的特性所以对于一些高并发的场景显得更为适用。

tornado简洁,高效,能够支持WebSocket,其I/O多路复用采用epoll模式来实现异步,并且还有Future期程对象来实现非阻塞。

Tornado有着优异的性能。它试图解决C10k问题,即处理大于或等于一万的并发。

Django、Flask、Tornado的对比,以及tornado应用场景

Django、Flask、Tornado的对比?老男孩Python好吗? 参考URL: https://·/blog/2758.html Python Web 框架:Django、Flask 与 Tornado 的性能对比 参考URL: https://·/p/9960a9667a5c

Django: 优点:大而全的框架,全自动化的管理后台带来超高的开发效率,丰富的组件 缺点:厚重,与他自己的ORM高耦合 分析:Django提供的方便,也意味着Django内置的ORM跟框架内的其他模块耦合程度高。应用程序必须使用Django内置的ORM,否则就不能享受到框架内提供的种种基于其ORM的便利;理论上可以切换掉其ORM模块,但这就相当于要把装修完毕的房子拆除重新装修,倒不如一开始就去毛胚房做全新的装修。Django的卖点是超高的开发效率,其性能扩展有限。

总结:成熟,稳定,开发效率高,相对于Flask,Django的整体封闭性比较好,适合做企业级网站的开发。python web框架的先驱,第三方库丰富。

Tornado: 优点:轻量、异步非阻塞IO处理方式、出色的抗负载能力、协程带来优异的处理性能 缺点:没有ORM,提供的支持和模板少,缺少后台支持,对小型项目来说开发速度没有django快 分析:tornado所谓的“缺点”是由它的设计理念决定的,设计上就决定它是一个小而精的http服务器+轻量级web框架,高并发处理才是它真正擅长的

总结: tornado的并发性能最好,而且最为轻量级,它最出名的异步非阻塞的设计方式,性能强悍是 Tornado 的名片。

django大而全、flask小而精、tornado性能高。

django ORM虽然面向对象来操作数据库,但是它的效率很低,使用外键来联系表与表之间的查询。

相比于Django和Flask,Tornado的市场占有率可以说是极低的,三个框架的特点很明显。

python在做web方面可不是一个主力军,更多被用来做一些小型企业门户网站或者工具网站,要高并发干啥,基本没有用武之地啊。真要冲着大并发的业务去,也不会选python来做web啊。所以,我觉得这就是Tornado不怎么受欢迎的原因。

tornado主要是用于websocket/tcp这些长连接数据流的场景, 结合async非常好用, python语言里暂时应该没有更好的替代框架, 如果是CRUD的web或者restful接口, 那确实跟django/django-rest-framework那些比完全没有优势。

总结:tornado主要应用场景还是用于websocket/tcp这些长连接数据流的场景, 结合async非常好用, python语言里暂时应该没有更好的替代框架。

安装

输入命令:

pip install tornado


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #龙卷风python