FastAPI
我是一个长期的 FastAPI 用户,从 2020 年 10 月开始使用 FastAPI,并将其应用到 10 多个项目中。 我对 FastAPI 提供的功能非常满意,但困扰我的是它没有提供的功能。 多年来,我发现自己几乎在每个项目中都重复编写一些模块,
- API 限流
- 发布事件到 Kafka
- 授权和认证
- 工厂模式的样板代码
- 难以集成第三方插件
有人建议 FastAPI 专注于性能,而 Django 专注于功能,但我认为我们可以兼得。
最终,我决定整合我一路编写的所有这些模块,并制作了一个新的框架。
它涵盖了 FastAPI 拥有的大部分功能,还有一些额外的功能:
- 基于类型的依赖注入
- 内置认证系统,让你用几行代码构建完整的访问控制
- 消息系统
- 错误响应生成器
- 问题页面
除了所有这些功能,lihil 还为 Web 框架的核心指标提供了更好的性能。
- 更高的 RPS
- 更低的内存使用
- 更短的 GC 时间
- 更快的启动时间