3-Tornado的优势

异步编码的一整套方案

不仅仅一个套完整web框架,还包含了一整套http协议以及、websocket协议的库、还有异步库

Tornado 不是只是Web框架 ,也是Web服务器

我们不光可以通过Tornado可web应用,还可以通过Tornado部署其它的web应用(充当的就是Nginx)

虽然核心来说可以当服务器使用,一般不会用tornado替代掉nginx,毕竟nginx有的功能tornado是没有的,比如说发送邮件,流量限速,负载均衡等等

那为什么torndao要是一个web服务器呢?

python 复制代码
因为nginx服务器从一开始的就是用来提供给同步的web应用框架使用的,而tornado是一个套异步的web框架,可以说算是一套新的框架。
所以说如使用nginx这样的服务器,也不很多好结合的。所以说。tornado不得不重新实现一个基于epoll协议的web服务器

Tornado是基于协程的解决方案(重点)

python 复制代码
tornado能高并发主要的原因就是因为协程。我们之前了解过进程、线程、协程。
而操作系统可以调度的最小单元就是线程。
所以说,若想调度协程需要我们自己程序来调度,没有办法通过操作系统来调度。

之前在Python3.4(印象中是)才有原生的协程,所以说一开始时,如果需要调度协程需要自己框架完成调度。

后来Python出了asyncio后,Tornado底层协程调度转成了asyncio。所以我们后面也是通过asyncio实现的任务调度

Tornado提供websocket的长连接(Web聊天、消息推送)

python 复制代码
比如说:常规网络服务是这样的,我们在聊天时,想别人有没有发消息过来,我们要刷新页面才知道。后来随之时代的进度,收别人的消息就不在用刷新页面。

再比如:打个某些,尤其是金融或者新闻网站。当打网站时,一有新消息就会有信息推送出来

这些都是websocket支持的 
相关推荐
用户298698530147 分钟前
Python 实现 Markdown 与 Word 文档互转
python·api·markdown
EnCi Zheng9 分钟前
AI Agent工具调用防护层怎么写-一份能直接跑的Python四层拦截实现
大数据·开发语言·python
2601_9498477512 分钟前
Cookie 跨端三方库仓颉适配全流程
python·django·flask
万粉变现经纪人16 分钟前
如何解决 pip install 安装报错 检测到 yanked 版本需更换可用版本 问题
人工智能·python·scrapy·numpy·pandas·pyqt·pip
香蕉大香蕉(06敬畏市场)20 分钟前
高频八股 · Java 并发编程(10):异步、ThreadLocal 与虚拟线程(收官)
java·开发语言·网络·jvm·python·ai·实习
JustNow_Man26 分钟前
【Harness】本地文本向量化搜索解决方案--qmd
git·python·算法
小林ixn26 分钟前
用 FastAPI + SQLAlchemy 从零手搓一个博客系统:一套能落地、能讲清楚的 RESTful 后端
后端·python·fastapi
小年糕是糕手28 分钟前
【AI】用 Python 做一个 AI 截图检索助手:把收藏夹里的截图找回来
linux·人工智能·python·chatgpt·agent·codex·deepseek
2601_9679801143 分钟前
wxPython 入门教程.pdf
python·wxpython·gui·教程·移植性
计算机毕业编程指导师1 小时前
2027计算机毕设选题指南:网站AI化、大数据预测+算法(XGBoost/LightGBM)、深度学习三方向57题+选题方法论
大数据·python·计算机·毕业设计·课程设计·毕设选题·1024程序员节