在全民互联网的今天,一款好使的Web商业系统,首先需要支持大并发的访问量,以满足用户的快速访问需求。在Python技术体系下,大并发响应性能最优的当属FastAPI轻量级框架,其响应性能可以跟Node.JS和Go媲美,主要受益于它是异步技术框架。
Python技术体系下提供了大量的人工智能开发框架,把人工智能技术、大数据技术融合并工程化是软件开发人员必须面对的一个问题,FastAPI为此提供了很好的Web工程化技术支撑。FastAPI支持前后端分离开发,并支持FastAPI与Django混合开发,具有强大的工程实践能力。
与Django、Flask框架相比较,Django是Python下重量级的开发框架,集成了大量的后端公共功能模块,拿来稍微完善一下就可以使用。但是它也存在一些问题,比如高度集成了关系型数据库的操作支持,对NoSQL集成未作考虑,存在NoSQL数据库接入开发难度大的问题。另外,在异步技术上与FastAPI存在很大差距。Flask 仅适用于中小规模的Web开发,不支持异步技术,无法解决大规模并发访问问题。
此外,FastAPI也有高效编码、更少代码开发Bug、智能代码编辑等优点。
OSCHINA 本期高手问答 (11 月 23 日 - 11 月 29 日) 我们一起探讨“Python下如何利用FastAPI框架开发实用、快捷的Web商业系统”的话题,做客高手问答的嘉宾是畅销书《Python FastAPI Web开发从入门到项目实战》的作者 刘瑜、安义和喻小菲 老师。
可讨论的问题包括但不限于:
- 如何利用FastAPI快速构建Web商业应用程序?
- 如何实现MongoDB、Redis的集成开发?
- 如何实现FastAPI和Django混编?
- 如何实现FastAPI和前端Vue.js同步开发?
有其他相关的问题,也欢迎提问。
嘉宾介绍
刘瑜,高级信息系统项目管理师,具有20多年C、ASP、BASIC、FoxBASE、Delphi、Java、C#、Python等编程经验,软件工程硕士、硕士企业导师、大数据重点实验室主任。开发过商业项目20余套,承担省部级千万级别项目5个,发表国内外论文10余篇。出版了《战神——软件项目管理深度实战》《NoSQL数据库入门与实践》《Python编程从零基础到项目实战》《Python编程从数据分析到机器学习实践》《算法之美——Python语言实现(微课视频版)》《Python Django Web从入门到项目实战》《Python FastAPI Web开发从入门到项目实战》。
安义,系统架构师,部门经理,具有20多年软件开发经验,主导过多个行业(医疗、教育、互联网、地产、游戏、汽车、餐饮等)的软件系统开发工作。熟悉多种开发语言和开发框架,具有丰富的软件实战经验。曾是腾讯公司负责袋鼠跳跳应用的研发负责人,目前为“三酷猫”团队的软件技术总监。《Python Django Web从入门到项目实战》《Python FastAPI Web开发从入门到项目实战》第二作者。
喻小菲,专职软件高级工程师,10余年软件项目开发经验,FastAPI专业技术群群主,承担过物联网、游戏、网络安全等10多个商业项目。主要从事Python Web方向的开发工作,对FastAPI、Sanic、Django、Flask等网络框架均有研究,始终追踪Python开发最前沿的发展方向,具有丰富的Python Web开发经验。
为了鼓励踊跃提问,我们会在问答结束后从提问者中抽取 5 名幸运会员赠予《Python FastAPI Web开发从入门到项目实战》一书。
京东购书:
https://item.jd.com/10062939804784.html#none
OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。
下面欢迎大家向 刘瑜、安义和喻小菲老师 积极提问,直接回帖提问即可。
高手问答第 294 期 —— Python 下如何利用 FastAPI 框架开发实用、快捷的 Web 商业系统?
@iman123 @赤脚小子 @zerolemon @KelvinQ @开源博客
恭喜以上5位网友分别获得《Python FastAPI Web 开发从入门到项目实战》一书。
请于12月08日12:00前登陆账号, 私信@OSC哒哒 告知快递信息(格式:姓名+电话+地址)
@zergan hi, 我看你们重点强调了FastAPI的异步特性带来的高性能,那我就就异步提一些问题。
1. FastAPI说异步阻塞还是异步非阻塞?
2. 我先假设是异步非阻塞,那是否实现了backpressure?
3. FastAPI是响应式编程么?基于什么模型做的,reactor?
4. 如果是响应式了,之前python生态的比如security层和db层的组件都不能用了吧,是怎么解决这部分问题的,fastapi自带解决方案还是依赖其他开源实现?
谢谢
@zergan 请问3个问题:
@zergan FastAPI的插件生态如何?
@zergan 使用 fastAPI 异步编程情况下,如何保证事务的处理?保证事务的一致性及上下文的相关性?
@zergan 不知道fastapi安全性如何?比如有没有xss、csrf插件?相比py4web怎么样呢?
@zergan 1. fastapi如何实现 MongoDB、Redis 的集成开发? fastapi 如果要和大数据相关的数据库结合可以吗?fastapi和doris结合?
2.这种异步编程的方式, 是支持了异步技术,并发访问时,会不会有数据延时的问题,读了是老的数据?怎么解决这种异步编程,数据不一致的缓存问题?
3.
我个人觉得用FastAPI做rest还是挺方便的