用了fastapi还需要nginx_凭什么 FastAPI 火成这样?看这篇文章就知道了

本文探讨了为何即使使用了FastAPI,仍然需要Nginx的原因。文章介绍了FastAPI的诞生背景,它借鉴了Django、Flask、Requests等多个框架的优点,并特别强调了自动API文档这一特性。FastAPI基于Pydantic和Starlette,提供高性能和数据验证功能。然而,Nginx作为反向代理和负载均衡器,能够有效管理和优化流量,增强系统的稳定性和可扩展性。因此,结合FastAPI和Nginx可以构建出高效、可靠的API服务。
摘要由CSDN通过智能技术生成

点击上方“Python编程时光”,选择“加为星标”

第一时间关注Python技术干货!

183972bc54cfeaf8fd751d730697f790.png

原文:https://fastapi.tiangolo.com/alternatives

作者:tiangolo,FastAPI 的创作者,github star 10.1k

翻译:somenzz @Python七号

0. 前言

本文讲述了什么启发了 FastAPI 的诞生,它与其他替代框架的对比,以及从中汲取的经验。

如果不是基于前人的成果,FastAPI 将不会存在。在 FastAPI 之前,前人已经创建了许多工具 。

几年来,我一直在避免创建新框架。首先,我尝试使用许多不同的框架,插件和工具来解决 FastAPI 涵盖的所有功能。

但是有时候,没有更好的办法,除了创建具有所有这些功能的东西,从以前的工具中汲取最佳创意,并以最佳方式将它们组合起来,使用以前甚至没有的语言功能(Python 3.6+类型提示)。

1. 启发过FastAPI的框架

Django

Django 是最流行的 Python 框架,受到广泛信任。它用于构建 Instagram 之类的系统。

它与关系数据库(例如 MySQL 或 PostgreSQL)相对紧密地结合在一起,因此,以NoSQL 数据库(例如 Couchbase,MongoDB,Cassandra 等)作为 django 的主存储引擎并不是一件容易的事。

创建它是为了在后端生成 HTML,而不是创建现代前端(例如 React,Vue.js 和Angular)或与其通信的其他系统(例如 IoT 设备)使用的API 。

Django REST Framework

Django REST Framework 是一个非常灵活的框架,用于构建 Web API,以改善 Django 的 API 功能。

Mozilla,Red Hat 和 Eventbrite 等许多公司都使用它。

Django REST Framework 是第一个自动生成 API 文档的框架,自动生成 API 的接口文档是 FastAPI 框架诞生的缘由之一。

注意

Django REST Framework 框架的作者是 Tom Christie ,Tom Christie 也创造了 Starlette和 Uvicorn。FastAPI 正是建立在 Starlette 和 Uvicorn 的基础之上。

启发 FastAPI 地方:有一个自动 API 文档,Web 用户界面可供用户测试。

Flask

Flask 是一种轻量级的框架,它不包括数据库集成,也没有很多的附带的功能,虽然这Django 那里是默认提供的。

这个简单性和灵活的特性允许使用 NoSQL 数据库作为主数据存储。尽管文档在某些方面有所技术性,但它非常简单,因此学习起来相对直观。

它还常用于其他不需要数据库,用户管理或 Django 中预建功能的应用程序。尽管其中许多功能都可以通过添加插件来实现。

各个模块之前的解耦,使之成为一个“微框架”,可以通过扩展为精确地提供所需的东西,这是我想要保留的一项关键功能。

考虑到 Flask 的简单性,它似乎很适合构建 API。接下来要找到的是 Flask的 “ Django REST Framework”。

启发 FastAPI 地方:成为一个微框架。易于混合和匹配所需的工具和零件。拥有一个简单易用的路由系统。

Requests

FastAPI 实际上不是 Requests 的替代工具。它们的适用范围非常不同。实际上,在FastAPI 应用程序内部使用 Requests 是很常见的。

但是,FastAPI 从 Requests 中获得了很多启发。Requests  是一个与API(作为客户端)进行交互的库,而 FastAPI 是一个用于构建 API(作为服务器)的库。它们或多或少地处于相反的末端,彼此互补。Requests  具有非常简单直观的设计,非常易于使用࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值