目录

  • 项目介绍
  • 准备阶段
  • 原始开发阶段
  • 项目准备阶段
  • 项目开发阶段
  • 上线运维测试阶段


项目介绍

本系列教程以一个实战项目,结合公司现阶段的技术架构,讲解一个fastapi项目在实际上是如何运行的。整个系列前半部是整个项目的开发介绍,后半部结合devops将整个项目如何进行运维和上线。
项目主要内容:一个订单系统,分为分发和终端,分发主要是用来接单并发送给 各个终端,接单则承接订单完成项目。订单主要是抖音点赞和评论相关的引流。
整体结构如下:

本系列主讲终端部分(订单分发和完成)。
主要功能:

  1. 从分发平台接收订单
  2. 将订单分发给各用户完成任务

虽然整个项目很简单,但是会涉及比较全面的知识,包括:缓存、定时任务、队列任务、orm使用、后台任务。一系列的工具基本上是fastapi的web开发所需的全部。
涉及知识栈:

  • fastapi
  • mysql
  • redis
  • rearq(定时任务和队列任务)
  • tortoise-orm(orm操作)
  • aerich(数据model变更同步)
  • metadata(数据可视化)
  • poetry(打包)
    很多工具都是公司自己开发的,所以优先考虑的是自己的需求,如果你们开发的时候发现缺少你需要的功能,完全可以自己开发然后合并到仓库去。

准备阶段

准备阶段为购买服务器,搭建k8s,搭建jenkins、sentry、

原始开发阶段

原始开发阶段为准备项目所需要的基本工具包,包括加密工具、缓存工具等

项目准备阶段

将公共服务提出来搭建一个微服务,以api的方式提供功能(比如发送短信等)

项目开发阶段

进行项目开发

上线运维测试阶段

具体的内容就是上面这些,接下来一段时间将把上面的部分详细拆开讲解。