28 CDN
-
总结
1、由于 客观地理距离 的存在,直连网站访问速度会很慢,所以就出现了 CDN
2、CDN 构建了全国、全球级别的专网,让用户 就近访问专网里的边缘节点 ,降低了传输延迟,实现了网站加速 3、**全局负载均衡 GSLB ** 是 CDN 的大脑,使用 DNS 负载均衡技术,智能调度边缘节点提供服务
4、缓存系统 是 CDN 的心脏,使用 HTTP 缓存代理技术,缓存命中就返回给用户,否则就要回源
定义
专门为解决长距离上网络访问速度慢而诞生的一种网络应用服务 – 内容分发网络
-
CDN 的最核心原则是 就近访问 – 用户访问的是 边缘节点
-
CDN 都能加速什么样的内容呢?
比如超文本、图片、视频、应用程序安装包等等。
资源按照 是否可缓存 又分为 静态资源 和 动态资源 – 只有静态资源 才能够被缓存加速、就近访问,而动态资源只能由源站实时生成,即使缓存了也没有意义
CDN的组成
有两个关键组成部分:全局负载均衡 和 缓存系统
全局负载均衡GSLB:
-
职责:当用户接入网络的时候在 CDN 专网中 挑选出一个最佳节点提供服务
-
解决问题:用户如何找到最近的边缘节点,对整个 CDN 网络进行负载均衡
-
实现方式:DNS 负载均衡
–> 接入CDN后,域名系统 DNS 返回的不是 IP 地址,而是一个 CNAME别名记录,指向 CDN 的 GSLB
–> 因为没拿到 IP 地址,于是 本地 DNS 就会向 CDN - GSLB 再发起请求,这样就进入了 CDN 的全局负载均衡系统,开始智能调度:
1、看用户的 IP 地址,查表得知地理位置,找相对最近的边缘节点
2、看用户所在的运营商网络,找相同网络的边缘节点
3、检查边缘节点的负载情况,找负载较轻的节点
4、其他,比如节点的健康状况、服务能力、带宽、响应时间等
缓存系统
缓存系统只能有选择地缓存那些最常用的那些资源。
补充两个概念:
-
命中 – 指用户访问的资源恰好在缓存系统里,可以直接返回给用户
-
回源 – 正相反,缓存里没有,必须用代理的方式回源站取
-
怎么样才能尽可能地 提高命中率、降低回源率 呢?
1、存储系统:硬件用高速 CPU、大内存、万兆网卡,再搭配 TB 级别的硬盘和快速的 SSD。软件方面则不断“求新求变”,各种新的存储软件都会拿来尝试
2、划分层次:分成一/二级缓存节点,一级缓存配置高一些,直连源站,二级缓存配置低一些,直连用户。回源的时候二级缓存只找一级缓存,一级缓存没有才回源站,这样最终“扇入度”就缩小了,可以有效地减少真正的回源
3、高性能的缓存服务