what
CDN(Content Delivery Network,内容分发网络)是通过将源站内容分发至靠近用户的加速节点,使用户可以就近获得所需的内容,解决Internet网络拥挤的状况,提高用户访问的响应速度和成功率,从而提升您业务的使用体验。
您可以在CDN管理控制台添加加速域名,然后前往域名服务商处配置CNAME解析,即可启用CDN加速。还可以根据业务需要,为加速域名进行缓存、安全、性能优化配置,优化加速效果、缓解源站压力。
能力
- 静态加速
- 卸载源站,减少源站的压力
- 防攻击能力,CDN是天然的大型分布式系统,有效将攻击由中心化分散到CDN边缘
- 定制化模块开发能力,如图片压缩、格式转化、自适应图片下载等功能
网络拓扑变化
原始链路 DNS->WAF 改造成 DNS->CDN->WAF
CDN需要配置回源地址
HTTP请求流程说明:
1.用户在浏览器输入要访问的网站域名www.example.com,向本地DNS发起域名解析请求。
2.本地DNS检查缓存中是否有www.example.com的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向网站授权DNS查询。
3.网站DNS服务器解析发现域名已经解析到了CNAME:www.example.com.c.cdnhwc1.com。
4.请求被指向CDN服务。
5.CDN对域名进行智能解析,将响应速度最快的CDN节点IP地址返回给本地DNS。
6.用户获取响应速度最快的CDN节点IP地址。
7.浏览器在得到最佳节点的IP地址以后,向CDN节点发出访问请求。
- 如果该IP地址对应的节点已缓存该资源,节点将数据直接返回给用户,如图中步骤7和8,请求结束。
- 如果该IP地址对应的节点未缓存该资源,节点回源请求资源。获取资源后,结合用户自定义配置的缓存策略,将资源缓存至节点,如图中的北京节点,并返回给用户,请求结束。
-
原理
CDN加速的原理就是将源站资源缓存到遍布全球的各个边缘节点,终端用户就近获取资源,从而达到加速效果。
加速资源
静态资源、动态资源(api接口)
缺点
- 缓存未按计划过期,用户获取的是过期资源,此处就涉及缓存过期策略设置
- 网络链路增加复杂度,增加运维难度
- 盗刷流量,钱包顶不住
缓存过期
您可以通过修改资源的缓存规则,控制资源在CDN节点的缓存时间,提高缓存命中率、减轻源站压力。
检查源站资源cache-control配置,如果设置为不缓存(no-cache、private、no-store),同时在CDN侧开启了“缓存遵循源站”功能,则CDN节点无法缓存,用户每次访问这个资源都需要回源,无法达到加速的目的。
计费
流量计费
按照每小时实际使用的流量进行计费,
- 流量计费适用于域名流量曲线波动较大,全天内带宽利用率小于30%,且有带宽尖峰的用户。
峰值宽带计费
获取排序第95%的 峰值带宽速率 作为计费标准,适用于有峰值的网站 - 峰值带宽计费适用于域名流量曲线比较平稳,全天内带宽利用率大于30%的用户。
性能指标
CDN效果验证
针对CDN本身
ping全局调度域名,使用第三方专业性能监控公司提供更多instant test 从不用区域ping获取边缘服务器的ip地址
上线
时延、回源率,丢包率、缓存命中率