VOPS 是统一的前端构建与发布平台,负责代码构建、版本管理、环境晋级、发布审批与回滚控制,本身不承载业务流量。
OSS(Object Storage Service)是静态资源的统一存储与源站服务,负责承载前端构建产物、媒体资源与备份数据,通过 CDN 对外提供高可用、高性能的访问能力。
CDN(Content Delivery Network)是前端静态资源的访问与加速层,负责将 OSS 中的静态资源高效、稳定地分发到用户就近节点,并提供缓存、回源、协议优化等能力。
背景与目标
1.1 背景
- 现有前端静态资源依赖 MFS / NFS + rsync 同步
- 发布链路长、耦合重,SSR 启动依赖资源同步
- CDN、媒体处理、性能优化能力受限
1.2 建设目标
- 构建与部署解耦,测试环境打包即发布
- OSS 成为唯一静态资源源站
- 支持多环境(beta / prod)
- 提升性能、稳定性与可运维性
总体架构设计
2.1 架构总览
┌──────────┐
│ Git │
└────┬─────┘
│
┌────▼─────┐
│ VOPS │ 构建 / 发布 / 回滚
└────┬─────┘
│ OSS Client
┌────▼─────────────────────┐
│ OSS Bucket │ 单 Bucket 多目录
│ /beta/web │
│ /prod/web │
└────┬──────────────┬───────┘
│ │
┌────▼─────┐ ┌────▼─────┐
│ CDN A │ │ CDN B │ 双 CDN
└────┬─────┘ └────┬─────┘
│ │
└──────┬───────┘
│
┌───▼───┐
│Browser│
└───────┘
部署流程设计
3.1 环境发布策略总览
| 环境 | 发布策略 | 是否需要审批 |
|---|---|---|
| 测试环境(beta) | 构建完成后自动发布 | 否 |
| 生产环境(prod) | 构建完成后待审批,人工触发部署 | 是 |
该策略用于:
- 提高测试环境交付效率
- 降低生产环境发布风险
3.2 测试环境(beta)发布流程
Git 提交
↓
VOPS 构建(build)
↓
构建成功
↓
自动发布
↓
OSS /beta/web
特点:
- 构建即发布
- 无人工介入
- 适合高频验证与联调
3.3 生产环境(prod)发布流程
Git 提交
↓
VOPS 构建(build)
↓
构建成功(待发布态)
↓
人工审批
↓
点击部署
↓
OSS /prod/web
审批通过后:
- 由 VOPS 统一执行部署动作
- 支持指定版本发布与回滚
3.4 OSS Client 替代 rsync
- 发布阶段使用 OSS Client(sync / copy)
- 替代传统 rsync + MFS/NFS
- 构建产物直接进入 OSS
OSS 资源组织方案
4.1 Bucket 与目录结构
oss://web-bucket/
├── beta/
│ └── web/
│ ├── index.html
│ └── assets/
├── prod/
│ └── web/
│ ├── index.html
│ └── assets/
└── backup/
4.2 多环境隔离策略
- 同 Bucket,不同目录
- 环境晋级仅做资源复制
SSR 项目支持策略
5.1 架构原则
- SSR 只渲染 HTML
- 静态资源 hash 化,完全走 OSS + CDN
SSR Server ── HTML
OSS ── JS / CSS / IMG
5.2 收益
- pm2 启动不依赖资源同步
- SSR 发布风险降低
环境晋级与同步机制
6.1 beta → prod 策略
- 不重新 build
- 通过 VOPS 执行资源复制
6.2 同步方式
- rsync / oss copy / oss sync
- 具体实现对业务透明
数据备份与灾备设计
7.1 双备份机制
VOPS → OSS(主) → MSF(备份)
7.2 MSF 职责
- 不参与在线访问
- 灾备与审计
域名与回源策略
8.1 新域名
- 直接回源 OSS
8.2 新旧域名共存
- 保持一致 URL Path
- 支持 CDN 快速切换回源至 MFS
Nginx 配置管理
- 旧域名 Nginx 配置同步至 OSS
- 用于备份与回源参考
安全与权限设计
10.1 OSS Key 分离
| 使用方 | 权限 |
|---|---|
| VOPS | 可读写 |
| Node 网关 | 只读 |
10.2 安全原则
- 前端无写权限
- Key 不复用
CDN 双活设计
11.1 双 CDN 架构
- 阿里 CDN
- GCP CDN
11.2 配置一致性要求
- Cache-Control
- QueryString 缓存
- gzip / brotli
- HTTP/2
项目收益评估
12.1 性能收益
- WebP / 媒体云能力
- CDN 强缓存
12.2 稳定性提升
- OSS 高可用
- 去除 NFS 单点
12.3 运维收益
- 发布解耦
- 支持快速回滚与切源
总结
通过 VOPS + OSS + CDN 的云原生静态资源架构,实现前端发布链路解耦、性能提升与高可用保障,为后续业务增长和多云部署奠定基础。