目录
- 项目介绍
- 准备阶段
- 原始开发阶段
- 项目准备阶段
- 项目开发阶段
- 上线运维测试阶段
项目介绍
本系列教程以一个实战项目,结合公司现阶段的技术架构,讲解一个fastapi项目在实际上是如何运行的。整个系列前半部是整个项目的开发介绍,后半部结合devops将整个项目如何进行运维和上线。
项目主要内容:一个订单系统,分为分发和终端,分发主要是用来接单并发送给 各个终端,接单则承接订单完成项目。订单主要是抖音点赞和评论相关的引流。
整体结构如下:
本系列主讲终端部分(订单分发和完成)。
主要功能:
- 从分发平台接收订单
- 将订单分发给各用户完成任务
虽然整个项目很简单,但是会涉及比较全面的知识,包括:缓存、定时任务、队列任务、orm使用、后台任务。一系列的工具基本上是fastapi的web开发所需的全部。
涉及知识栈:
- fastapi
- mysql
- redis
- rearq(定时任务和队列任务)
- tortoise-orm(orm操作)
- aerich(数据model变更同步)
- metadata(数据可视化)
- poetry(打包)
很多工具都是公司自己开发的,所以优先考虑的是自己的需求,如果你们开发的时候发现缺少你需要的功能,完全可以自己开发然后合并到仓库去。
准备阶段
准备阶段为购买服务器,搭建k8s,搭建jenkins、sentry、
原始开发阶段
原始开发阶段为准备项目所需要的基本工具包,包括加密工具、缓存工具等
项目准备阶段
将公共服务提出来搭建一个微服务,以api的方式提供功能(比如发送短信等)
项目开发阶段
进行项目开发
上线运维测试阶段
…
具体的内容就是上面这些,接下来一段时间将把上面的部分详细拆开讲解。