详解 CDN 加速

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 详解 CDN 加速

背景


 

如何打开一个网站


前面说过了

  1. 浏览器访问域名
  2. DNS 负责解析域名,找到域名对应的 IP 地址
  3. 浏览器访问 IP 地址对应的服务器,渲染响应内容


image.png

存在两个问题

问题一

  • 服务器有地理位置
  • 无论是云服务器,还是传统服务器,它都有一个地理位置
  • 如果请求它的设备离它很远,那么它的请求时间肯定会更长
  • 假设同时有很多个设备同时请求,带宽有限的情况下,即使离服务器很近,那请求时间也会被拉长

image.png

问题二

  • 服务器稳定性,会小概率出现宕机
  • 假设原始服务器出现宕机问题,会导致网站无法正常访问
  • 如果是小公司,还没有专业的运维人员的话,那么宕机发生的时候可能会无法及时告警


image.png

CDN 介绍


全称

Content Delivery Network,内容分发网络

 

为什么会出现

就是为了解决上述两个问题:限于地理位置、服务器稳定性

 

场景类比

用过京东网购都知道,为什么京东物流能当天/隔日到?因为它有前置仓、区域仓的仓储配送机制

电商物流进化历程

  • 第一阶段:只有商家仓库,无论在哪购买,都从仓库发货,所以快递时间需要 3-10 天
  • 第二阶段:建立区域仓,在一些关键城市建立区域仓,然后从商家仓库囤点货,当下单购买后,会就近选择区域仓进行发货
  • 第三阶段:建立前置仓,就是京东那种,就在你家旁边建一个仓库,送货速度极快

CDN 其实就是类似第三阶段,让离你最近的服务器发送数据,这样无论在哪访问网站,速度都是杠杠的

 

CDN 实现原理


一开始已经复习了下是如何打开一个网站的,其实 CDN 跟 DNS 也是有关系的

前提:没有 CDN 的情况下

image.png

跟开头讲的顺序一样

  1. 浏览器查询 DNS 服务器域名对应 IP 地址是什么
  2. DNS 服务器返回 IP 地址
  3. 浏览器访问 IP 地址对应的服务器
  4. 服务器返回网站数据给浏览器

 

添加 CDN 专用解析记录

  • 在域名的 DNS 解析设置中,添加一条 CDN 专用的解析记录
  • 这条解析记录会让域名被解析之后, 会指向一个 CDN 网络专用的处理 DNS 服务器

image.png


CDN 专用的 DNS 服务器

  1. 浏览器发送 DNS 查询请求到 DNS 服务器
  2. DNS 服务器会返回 CDN 专用的处理 DNS 请求的服务器的 IP 地址给浏览器(上面说的 CDN 专用解析记录)
  3. 浏览器拿到 IP 地址后访问 CDN 专用 DNS 服务器
  4. 然后呢,CDN 专用 DNS 服务器就会返回 CDN 负载均衡服务器的 IP 地址
  5. 浏览器拿到 IP 地址后访问 CDN 负载均衡服务器
  6. CDN 负载均衡服务器会根据浏览器的网络地址,在 CDN 网络中返回最适合的 CDN 服务器的 IP 地址,可能是没什么人用的服务器,也可能是比较近的服务器



image.png

CDN 负载均衡服务器的作用

它会给请求设备分配合适的 CDN 服务器的 IP 地址

 

获取网站数据

  1. 浏览器拿到 CDN 服务器的 IP 地址之后,就会访问它
  2. 假设第一个 CDN 服务器没有需要的网站文件(缓存中没有),就会去 CDN 网络中的上层 CDN 服务器中拉取
  3. 如果上层 CDN 服务器没有还会继续往上层找
  4. 如果所有上层 CDN 服务器都没有找到,就会去源站中拉取
  5. 拉取成功之后,就会在刚刚经过的所有 CDN 服务器中缓存这些网站文件
  6. 最后第一个 CDN 服务器会将网络文件发送给浏览器


image.png


源站 IP

  • 浏览器需要访问的域名的网站服务器的 IP 地址
  • 在开通 CDN 的时候,就需要在 CDN 后台设置源站 IP
  • 网站的文件就是放在源站上的,比如静态资源文件、视频、音频

 

CDN 服务器的缓存机制

  • 通过 CDN 服务器的缓存机制,这样下次其他设备要去访问 www.bilibili.com 的时候,就能直接从 CDN 服务器的缓存中拉取到对应的网站文件了
  • 不需要访问源站的话,可以减少源站压力,还能加快请求速度


image.png

CDN 服务器的稳定性

  • CDN 的缓存机制除了能让用户快速打开一个网站,还可以提高网站的稳定性
  • 假设源站宕机,或者 CDN 服务器节点宕机了之后,CDN 网络中还有其他 CDN 服务器可用,这样访问网站就可以从可用的 CDN 服务器上拉取网站文件,不至于访问不了网站

 

相关文章
|
域名解析 网络协议 对象存储
阿里云 CDN 控制台演示:源站加速|学习笔记
快速学习阿里云 CDN 控制台演示:源站加速
阿里云 CDN 控制台演示:源站加速|学习笔记
|
编解码 网络安全 CDN
使用cdn为github pages加速
第一次使用cdn
2263 0
|
安全 CDN
阿里云CDN产品解读及全站加速在游戏行业的最佳实践!
阿里云CDN(内容分发网络)为全球用户提供快速、稳定、安全的内容分发加速服务,显著提升访问响应速度和成功率
233 13
|
存储 缓存 负载均衡
CDN - CDN架设、CDN产品介绍、CDN加速原理
CDN - CDN架设、CDN产品介绍、CDN加速原理
571 0
|
云计算 CDN
阿里云产品体系分为6大分类——云计算基础——CDN与边缘——全站加速DCDN
阿里云产品体系分为6大分类——云计算基础——CDN与边缘——全站加速DCDN自制脑图
291 1
阿里云产品体系分为6大分类——云计算基础——CDN与边缘——全站加速DCDN
|
安全 网络协议 对象存储
CDN 添加加速域名| 学习笔记
快速学习 CDN 添加加速域名。
CDN 添加加速域名| 学习笔记
|
缓存 开发框架 前端开发
CDN - 阿里云CDN全站加速,说说动态加速那些事
CDN - 阿里云CDN全站加速,说说动态加速那些事
2481 0
CDN - 阿里云CDN全站加速,说说动态加速那些事
|
存储 域名解析 网络安全
阿里云对象存储OSS及CDN加速配置
目录 十大云存储服务商 登陆阿里云官网,开通对象存储服务 OSS 创建存储空间 绑定自定义域名 配置阿里云CDN加速 购买阿里云免费SSL证书 阿里云CDN配置HTTPS证书 测试是否配置成功 创建阿里云子账户,获取访问密钥 到此为止,项目中对接阿里云对象存储OSS所需参数都有了
|
边缘计算 缓存 对象存储
阿里云OSS传输加速和CDN有什么区别?
阿里云对象存储OSS传输加速和阿里云CDN的区别
|
安全 CDN
《CDN政企边缘安全加速产品发布》电子版地址
《CDN政企边缘安全加速产品发布》PPT
178 0
《CDN政企边缘安全加速产品发布》电子版地址