CDN是什么

# CDN是什么

CDN即内容分发网络,本质上是个“内容快递网络”,是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。

CDN,它把源站的数据提前缓存到离用户最近的节点,用空间换时间,用分布抗压力,文本数据用关系型数据库+Redis的组合拳,文件数据就要用对象存储+CDN的组合拳。就像select * from user where id = 1,我们可以用redis缓存,而不用每次去后端查询数据库。从而减少了源库的压力。

为什么redis不能存储图片呢?想象一下10GB的Redis实例存10万张图,光是维护key列表就能让内容爆炸,而CDN的边缘节点自带硬盘存储,专门为海量文件而设计,CDN架构:

  1. 第一层调度系统,像导航地图,用DNS解析+IP定位,把用户定位到离他最近的节点。
  2. 边缘节点,相当于遍历全国的快递网点,用SSD硬盘+内存缓存高频内容。最近用过的资源优先保留。
  3. 第三层回源机制,当本地也没存货时,用HTTP/2快速从源站拉数据,还能自动平衡多个源站压力

CDN实际解决问题:输入网址,首先电脑会根据访问的域名查看浏览器缓存;再看操作系统缓 名的解析,这时云厂商的DNS调度系统,根据你的IP+运营商+节点负载,动态分配“最近最优”的CDN服务器IP给你访问,这个IP其实就是个CDN边缘节点IP。只是这个节点离你最近,访问比较快而已。

当你第一次访问时,边缘节点会检查缓存版本,如果有存货且未过期,直接这个节点给你闪电响应;如果过期了,就秒回源站拿最新版本,同时更新本地库存。

预热办法:上线前,用curl命令去提前访问,并把热数据灌满CDN节点,避免大批流量访问。

场景使用:

  1. 全球用户访问的网站,跨境电商
  2. 突发流量场景(新品发布,抽奖活动)
  3. 大文件分发(游戏更新包,4K视频)
  4. 需要隐藏源站IP的敏感业务

因为redis的存储是基于内存的,内存是有限的,而图片是基于磁盘的,磁盘是无限的。所以redis不能存储图片。

上次更新: 2025/6/12 00:59:27