首页 / 知识库 / 系统架构体系 / 项目到底如何部署

10 - 什么是 OSS 和 CDN,为什么要配合用

上一章我们知道,前端部署就是把静态文件放到”货架”上。这个货架由两位主角组成:OSS(存)+ CDN(快速分发)。这一章把它俩讲清楚,以及为什么要配合用。

OSS:对象存储,负责”存”

OSS(Object Storage Service,对象存储):一个专门用来存文件的云服务。你把文件传上去,它帮你可靠地存着,并且可以配置成”允许别人通过网址访问下载”。

  • 阿里云叫 OSS
  • 腾讯云叫 COS
  • (名字不同,本质一样)

它的特点:

  • 便宜:按实际存储量和下载流量付费,存一个前端项目一个月几毛钱
  • 可靠:云厂商帮你多副本存储,不怕丢
  • 免运维:不用管服务器、不用管磁盘

你把前端 dist/ 里的文件传进 OSS 的一个”桶(Bucket)“里,每个文件就有了一个访问网址。理论上,用户已经能通过这个网址访问你的网站了。

那为什么还需要 CDN?

问题:只有 OSS,远处的人访问会慢

你的 OSS 桶开在某个地域(比如杭州)。那么:

  • 杭州附近的用户访问 → 快
  • 新疆、广东、甚至国外的用户访问 → 每次都要大老远跑到杭州去取文件 →

而且所有人都挤到杭州这一个点,访问量一大就容易卡。

CDN:内容分发网络,负责”快”

CDN(Content Delivery Network,内容分发网络):在全国各地(乃至全球)都布有节点(叫”边缘节点”)。它把你 OSS 里的文件缓存一份到各个节点,用户访问时,就近从离他最近的节点拿文件。

  • 新疆用户 → 从新疆附近的节点拿 → 快
  • 广东用户 → 从广东附近的节点拿 → 快

类比:OSS 是总仓库(东西都存这),CDN 是遍布全国的便利店(就近取货)。你不用每次都跑去总仓库,家门口便利店就有。

CDN 的两个核心动作

  • 缓存命中:用户要的文件,最近的节点上已经有 → 直接给,最快
  • 回源:节点上没有(或过期了)→ 节点先去**总仓库(OSS)**取一份、缓存下来,再给用户。下一个人来就直接命中了

[配图:中间一个 OSS 总仓库,向全国各地的 CDN 边缘节点分发文件;不同地区的用户各自就近连到最近的节点]

为什么 OSS + CDN 要配合用

OSS 单干CDN 单干OSS + CDN
存文件❌(它只是缓存,不长期存)✅ OSS 存
全国访问快❌ 远处慢✅ CDN 就近
扛高并发一般✅ 节点分摊

结论:OSS 负责”可靠地存原件”,CDN 负责”就近快速分发”,两者配合才是前端部署的黄金搭档。CDN 里没有的、或过期的内容,都会回源到 OSS 去取。

顺带一提:CDN 不只给前端用

图片、视频、下载包等静态资源都可以走 CDN 加速。但对我们来说,最典型的用途就是加速前端静态站点

小结

  • OSS(对象存储):专门存文件的云服务,便宜、可靠、免运维;阿里云叫 OSS,腾讯云叫 COS。
  • 只有 OSS 的问题:远处用户访问慢、高并发易卡。
  • CDN(内容分发网络):全国布节点,把文件缓存到各地,用户就近访问,快。
  • 配合方式:OSS 存原件(源站),CDN 缓存分发;命中就直接给,没有就回源到 OSS。

概念都清楚了,下一章我们动手实战:把一个前端项目真正部署到 OSS + CDN 上,并接上 CI/CD 自动化。


下一章 → 11 - 实战:把前端部署到 OSS + CDN