使用 Northflank 部署
PaaS,git push、Docker、托管 DB 和前后端组合服务。
平台进阶
为什么
Northflank 部署前端、后端、worker 和数据库为一个项目,共享网络和密钥。支持 git push、Docker 和组合服务。
平台即服务采用率 2024 年增长 24%,团队从虚拟机管理转向 git push 部署。the cloud infrastructure market reached $330B in 2024, growing 22% year-over-year (Synergy Research),PaaS 层捕获了大多数新工作负载。
何时使用
多服务和 DB 的全栈应用用 Northflank。简单单服务应用避免 — 过度。
如何做
1. 创建 — northflank.com → 新建项目
2. 服务 — 加前端(静态)、后端(容器)、worker
3. 数据库 — 加 Postgres/Redis/Mongo 托管服务
4. 网络 — 服务经私有网络自动连接
5. 密钥 — 项目内服务共享
6. 域名 — 自定义域名自动 TLS
7. 扩缩 — 每服务扩缩
示例
// 配置 — deploy-northflank
const config = require("./config");
# northflank.yaml — 组合服务
project: myapp
services:
frontend:
type: static
build: npm run build
output: dist
backend:
type: container
dockerfile: Dockerfile
port: 3000
env:
DATABASE_URL: postgres://...
worker:
type: container
dockerfile: Dockerfile.worker
command: npm run worker
databases:
- type: postgres
name: main
- type: redis
name: cache
常见问题
- ⚠服务无法连 DB — 密钥引用错误,用 service-name:variable 语法
- ⚠构建失败 — Northflank 用 BuildKit,确保 Dockerfile 兼容
- ⚠环境间配置漂移 — 使用基础设施即代码(Terraform/Pulumi)保持 dev/staging/prod 一致
最佳实践
- ✓全栈用组合服务 — 共享网络、密钥和一次部署
- ✓用托管 DB — 自动备份、扩缩和连接池
- ✓设置健康检查和优雅关闭 — 处理 SIGTERM 以在退出前排空进行中的请求