* FastAPI
> 一个基于 python 的框架,该框架鼓励使用 Pydantic 和 OpenAPI (以前称为 Swagger) 进行文档编制,使用 Docker 进行快速开发和部署以及基于 Starlette 框架进行的简单测试
* Starlette
> 一个轻量级的的ASGI框架/工具包,是构建高性能Async IO服务的理想选择
* Pydantic
> 一个基于Python类型提示来定义数据验证,序列化和文档(使用JSON模式)库
### ASGI
> ASGI(Asynchronous Server Gateway Interface, 异步服务器网关接口) 是[WSGI]的传人,为了规范支持异步的Python网络服务器,框架和应用之间的通信而定制。
相较于WSGI定义了同步的Python应用间的通信规范,ASGI同时囊括了同步和异步应用的通信规范,并且向后兼容遵循WSGI的应用、服务以及框架。
> ASGI是WSGI的传承者,是python网络服务器、框架和应用进行长连接的通信标准。
WSGI在python网络应用的自由与创新方面很成功,而ASGI希望在此基础上推进异步Python的应用。
### 为什么WSGI不合适
> 你可能会问“为什么选择不更新WSGI”?这一问题在过去多年被时常问起,原因通常被归结为WSGI的单次调用接口不适合WebSocket这种介入程度更高的协议。
WSGI应用都是单次、同步调用的,他们仅在接受一个请求后返回应答,这种模式不支持长连接,比如HTTP长轮询或者WebSocket连接。
即使我们将其改为异步调用,发起请求的方式仍然是单一的,所以那些会多次传入事件的协议无法调用这些应用。
### ASGI工作原理
> ASGI由单独的异步应用沟通成。其中包括`scope`,包含传入请求的所有信息;`send`,用于向客户端发送事件的异步方法,`receive`,用于接受客户端发来事件的异步方法。
ASGI不仅让应用可以多次接受或发送事件,并且可以结合协程时应用同时处理器他任务(比如监听外部触发的事件,就像Redis队列一样)。
- 简介
- PHP
- 字符串函数
- 数组函数
- 正则
- 加密函数
- 面向对象
- 关键字
- 设计模式
- 魔术方法
- 机制扩展
- 会话机制
- 垃圾回收
- PHP框架
- laravel
- 问题
- swoole
- easyswoole
- workerman
- 数据库
- Sphinx
- MongoDB
- MemCache
- Redis
- 基础操作
- 数据类型
- 持久化
- 分布式锁
- 内存模型
- redis高级特性
- MySql
- 基础操作
- 数据类型
- 数据表引擎
- 锁机制
- 事务处理
- 存储过程
- 触发器
- 索引
- 关联查询
- 分析SQL语句-优化查询
- 分区分表
- 主从复制
- MySql安全性
- 网络协议
- HTTP
- header详解
- 状态码
- nginx-配置
- 逻辑算法
- 时间和空间复杂度
- 常见算法
- 数据结构
- 核心
- 进程、线程、协程
- 存储容量-计量单位
- 开发软件及配置
- LNMP
- 版本控制器
- Git
- Fidder
- Fidder-Android7
- 自动化部署
- Jenkins
- supervisor
- Elasticsearch
- LogStash
- RabbitMQ
- AB测试
- JAVA-JDK
- FileBeat
- PhpStorm
- Composer
- Yum
- Linux
- API安全
- 高并发及大流量相关概念
- 网站优化
- WEB
- Electron
- 第三方平台对接
- Python框架
- docker
- CORS
- PHP面试题
- PHP相关问题
- Laravel和ThinkPHP框架的区别
