我们的web应用使用python web的fastapi框架,通过uvicorn开启web服务。
1. refs
github:https://github.com/tiangolo/fastapi
2. 环境配置
python:3.11+
uvicorn:0.29.0
pip install "uvicorn[standard]"
什么是uvicorn?
Uvicorn 是一个轻量级的 ASGI(Asynchronous Server Gateway Interface)服务器,用于运行 Python 的 ASGI 应用。ASGI 是一个标准接口,用于异步Web应用程序和服务器之间的通信,它允许你编写异步代码,从而提高应用程序的性能和可伸缩性。
Uvicorn 的主要特点包括:
- 异步支持:Uvicorn 完全支持异步,这意味着它可以处理大量的并发连接,而不会阻塞服务器。
- 性能:Uvicorn 提供了高性能的服务器能力,特别是在与异步框架(如 FastAPI 或 Starlette)结合使用时。
- 简单易用:Uvicorn 的使用非常简单,可以通过命令行启动,也可以作为库在代码中启动。
- 跨平台:Uvicorn 可以在多种操作系统上运行,包括 Windows、macOS 和 Linux。
- 可扩展性:Uvicorn 可以轻松扩展以适应不同的工作负载,适用于从小规模到大规模的生产环境。
- 内置支持:许多现代 Python Web 框架,如 FastAPI 和 Starlette,已经内置了对 Uvicorn 的支持。
- 命令行接口:Uvicorn 提供了一个命令行接口(CLI),允许你快速启动和管理 ASGI 应用。
- WebSockets 支持:Uvicorn 支持 WebSockets,使得实时通信和交互式应用的构建成为可能。
- Gunicorn 集成:Uvicorn 可以与 Gunicorn(一个 Python WSGI HTTP 服务器)集成,通过 Gunicorn 运行 Uvicorn 工作器。
FastAPI的