cdn简介

CDN的全称是Content Delivery Network,即内容分发网络。

其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。

CDN的优势

(1)CDN节点解决了跨运营商和跨地域访问的问题,访问延时大大降低;
(2)大部分请求在CDN边缘节点完成,CDN起到了分流作用,减轻了源站的负载。

传统的浏览器访问网站应步骤:

在浏览器输入网址
浏览器请求dns服务器,查询到对应的IP
浏览器向服务器发起TCP连接
浏览器通过建立的TCP连接发送HTTP协议报文
服务器向浏览器发送页面内容
浏览器将页面展现出来

CDN用户访问流程:

1.用户向浏览器输入www.web.com这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求;
2.网站的DNS域名解析器设置了CNAME,指向了www.web.51cdn.com,请求指向了CDN网络中的智能DNS负载均衡系统;
3.智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户;
4.用户向该IP节点(CDN服务器)发出请求;
5.由于是第一次访问,CDN服务器会向原web站点请求,并缓存内容;
6.请求结果发给用户。

 

CDN 内容分发网络 Content Delivery Network

内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。 CDN分担源站压力,避免网络拥塞,确保在不同区域、不同场景下加速网站内容的分发,提高资源访问速度。

基本概念

  • 静态资源
    静态内容是指在不同请求中访问到的数据都相同的静态文件。例如:图片、视频、网站中的文件(html、css、js)、软件安装包、apk文件、压缩包文件等。 将服务器上存储的静态内容缓存在CDN节点上,无需访问服务器源站,就近访问CDN节点即可获取相同内容。从而达到加速的效果,同时减轻服务器源站的压力。
# 常见静态文件类型
图片:GIF、PNG、BMP、JPEG、JPG
页面:HTML、HTM、SHTML
音视频:MP3、WMA、FLV、MP4、WMV、OGG、AVI
文本:DOC、DOCX、XLS、XLSX、PPT、PPTX、TXT、PDF
其他:ZIP、EXE、TAT、ICO、CSS、JS、SWF、APK、M3U8、TS
  • 动态资源
    动态内容是指在不同请求中访问到的数据不相同的动态内容。例如:网站中的文件(asp、jsp、php、perl、cgi)、API接口、数据库交互请求等。 CDN的缓存加速不适用于加速动态内容,CDN无法缓存实时变化的动态内容。对于动态内容请求,CDN节点只能转发回您的服务器源站,没有加速效果。 一般情况下,会使用 CDN 来实现静态内容的加速,动态内容需通过路由优化来实现,以达到全站加速效果。

CDN 衡量指标

基础指标

除缓存命中率外,其他指标均越低越好。缓存命中率越高越好,源站压力越少。若没有使用 CDN,则回源请求数为100%,缓存命中率为0。

  • 延时
  • 下载速度
  • 打开速度
  • 丢包率
  • 回源率
    回源请求数比例: 指边缘节点对于没有缓存、缓存过期(可缓存)和不可缓存的请求占全部请求记录的比例;
    回源流量比:回源流量是回源请求文件大小产生的流量和请求本身产生的流量。
  • 缓存命中率
    指终端用户访问加速节点时,该节点已缓存了要被访问的数据的次数占全部访问次数的比例。
字节缓存命中率 = CDN缓存命中响应的字节数 / CDN所有请求响应的字节数
请求缓存命中率 = CDN缓存命中的请求数 / CDN所有的请求数

字节缓存命中率越低,回源流量越大,源站的流出流量越大,源站的带宽资源以及其他的负载越大,因此回源流量代表了源站服务器接收到的负载压力,在业务使用中主要关心字节缓存命中率。

加速小文件指标

小文件主要指 html、js、jpg、css 等前端网页素材,主要关心页面加载延迟。 延迟主要包括以下3个性能指标:建立连接时间、首包时间(从客户端开始发送请求到收到服务器端发来的第一个包之间所需要的时间)、内容下载时间。 其中,首包时间是最核心的指标。

  • 上传
    在上传路径中,首包时间主要包含了DNS解析时间、TCP用时、SSL用时、发送时间和响应时间。
  • 下载
    在下载路径中,首包时间主要包含了DNS解析时间、TCP用时、SSL用时、发送时间、响应时间和下载用时。

CDN 原理

CDN 原理主要依赖于 DNS 的本地解析以及与终端客户临近的服务器缓存:
终端用户(北京)对 www.a.com 发起请求 -> 本地 DNS 查询域名解析 ip -> 本地 DNS 没有该域名的 ip 解析缓存请求上游公网 DNS 获取 -> 本地 DNS 获取到 CDN 的 DNS 调度系统 ip -> 本地 DNS 向 CDN DNS 调度系统请求获取 www.a.com ip -> CDN DNS 根据调度发送 www.a.com 最佳 CDN 缓存节点 ip 给本地 DNS ->用户通过本地 DNS 获得 www.a.com CDN 服务器(临近北京)的服务器 ip -> 用户向最佳 CDN 缓存节点 ip 发起 www.a.com 资源获取请求 -> 最佳 CDN 缓存节点若有该资源则直接返回给用户 -> 最佳 CDN 缓存节点若没有该资源则向源站服务器请求将资源缓存到最佳节点

posted @ 2022-03-11 17:22  很多无尾熊  阅读(357)  评论(0)    收藏  举报
本站已运行[ ]
正在加载今日诗词....