第三章:生产部署——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]
本章小结
- Fly.io:边缘部署、自动扩展
- 数据库:PostgreSQL + Serverless 方案
- Redis:Upstash Serverless
- 零停机:健康检查 + 滚动更新
本章提示词模板
生成 Fly.io 配置
为 FastAPI 项目生成 Fly.io 配置:
需求:
1. fly.toml 配置
2. 机密管理(Secrets)
3. 健康检查
4. 零停机部署
请生成完整的 Fly.io 配置。
继续阅读:第四章:可观测性