第三章:生产部署——Fly.io + 数据库选型

第三章:生产部署——Fly.io + 数据库选型

“部署不是终点。选对 PaaS 平台和数据库方案,让扩展成为可能。”


3.1 部署平台选择

flowchart
    A[PaaS 选型] --> B[Fly.io]
    A --> C[Railway]
    A --> D[AWS ECS]
    B --> E[适合容器化应用]
    C --> F[快速启动]
    D --> G[企业级控制]
平台 优点 缺点
Fly.io 边缘部署、自动扩展 学习曲线
Railway 简单易用 成本较高
AWS ECS 成熟生态 配置复杂

3.2 数据库选型

flowchart
    A[数据库选型] --> B[PostgreSQL]
    A --> C[Supabase]
    A --> D[Neon]
    B --> E[自托管控制]
    C --> F[内置 Auth/Realtime]
    D --> G[Serverless 分账]

成本考量

  • 用户 < 1000:Supabase/Neon 免费层
  • 用户 1000-10000:中等付费方案
  • 用户 > 10000:考虑自托管

3.3 Redis 选型

方案 适用场景
Upstash Serverless,Pay-per-request
ElastiCache AWS 生态,高性能
自托管 完全控制

3.4 零停机部署

flowchart
    A[v1 实例] --> B[健康检查]
    B --> C[启动 v2]
    C --> D{新版本健康?}
    D -->|是| E[切换流量]
    D -->|否| F[回滚]
    E --> G[停止 v1]

本章小结

  1. Fly.io:边缘部署、自动扩展
  2. 数据库:PostgreSQL + Serverless 方案
  3. Redis:Upstash Serverless
  4. 零停机:健康检查 + 滚动更新

本章提示词模板

生成 Fly.io 配置

为 FastAPI 项目生成 Fly.io 配置:

需求:
1. fly.toml 配置
2. 机密管理(Secrets)
3. 健康检查
4. 零停机部署

请生成完整的 Fly.io 配置。

继续阅读:第四章:可观测性