CDN
介绍
CDN (全称 Content Delivery Network),即内容分发网络,服务器的静态资源存在CDN服务器上,用户在最近的CDN服务器上获取资源。
从功能上看,典型的 CDN 系统由分发服务系统、负载均衡系统和运营管理系统组成。分发服务系统主要负责资源的响应、缓存和同步。负载均衡系统主要负责对用户请求进行调度。运营管理系统则负责运营需求管理和网络系统管理。
从节点分布上看,CDN 系统主要分为 边缘层 和 中心层。边缘层分布在 CDN 网络的边缘位置,给用户提供就近访问服务。中心层则负责完成资源同步和运营管理等功能。中心层保存了加速域名的相关配置信息,比如源站域名,也缓存了加速域名下的各种资源。在边缘层节点未命中缓存时,需要向中心层节点发起请求;而中心层节点未能命中缓存时,需要查找对应的源站域名,并向该源站域名发起请求。然后再逐层返回并缓存用户请求的资源。
用户在首次访问 https://assets-cdn.github.com/pinned-octocat.svg , 假设不委托local DNS服务器递归查询,会经历以下几个过程
- 浏览器检查本地有没有缓存,有则使用缓存,没有缓存则对域名进行DNS查询,获得一个 CNAME记录(指向一个域名),
github.map.fastly.net
。 - 对域名
github.map.fastly.net
进行DNS查询(CDN 的 DNS 服务器),获得一个 CDN 的全局负载均衡设备 IP 地址103.245.222.133` - 用户向 CDN 的全局负载均衡设备发起内容 URL 访问请求,CDN 全局负载均衡设备根据用户 IP 地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。
- 根据以下条件,区域负载均衡设备会向全局负载均衡设备返回一台CDN服务器的IP地址:
- 根据用户 IP 地址,判断哪一台服务器距用户最近;
- 根据用户所请求的 URL 中携带的内容名称,判断哪一台服务器上有用户所需内容;
- 查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。
- 区域负载均衡设备把服务器的 IP 地址返回给用户。
- 浏览器开始与CDN服务器进行握手,握手完了把http请求头也发给了该边缘服务器;
- 边缘服务器检查自己的cache里面有没有
https://assets-cdn.github.com/pinned-octocat.svg
这个资源,有则返回给用户,如果没有,向CDN中心服务器发起请求; - CDN中心服务器检查自己的cache里面有没有这个资源,有则返回给边缘服务器,没有则回源,把http请求发到源站地址上,源站返回后返回给请求方。
关键技术:
- 内容分发:借助缓存、组播等技术,将内容发布到网络上距离用户最近的中心机房。
- 内容路由:将用户的请求导向整个CDN网络中的最佳节点。通常借助全局和局部负载均衡设备实现。
- 内容存储:源站和CDN结点cache存储。源站由于内容的规模比较大,因此,通常采用海量存储架构,如NAS和SON;CDN结点的Cache存储使用RAID技术。
- 性能管理:通过运营管理系统,获取网络信息,测量内容发布的端到端性能(延时、包丢失、平均带宽等),保证网络处于最佳状态。
特点:
- 缓存加速:将用户经常访问的数据缓存在本地,提升响应速度。
- 镜像服务:消除不同运营商之间的网络差异,实现跨运营商的网络加速。
- 远程加速:利用负载均衡为用户选择高质量服务器,加快访问速度。
- 带宽优化:自动生产服务器的远程镜像缓存,分担流量,降低原站点负载。
产品功能
(1)HTTPS安全加速
HTTPS安全加速:防劫持、防篡改、防泄密,享受企业级可靠HTTPS加速服务。
-
全链路内容加速分发
客户端访问、节点间互联、回源请求均支持HTTPS加密技术,仅需开启安全加速模式后上传加速域名证书/私钥,支持对证书进行查看、停用、启用、编辑操作。
-
强制HTTPS跳转
加速域名开启“HTTPS安全加速”的前提下,支持自定义设置,将用户的原请求方式进行强制HTTPS 跳转。
(2)高性能灵活缓存策略
高性能灵活缓存策略:智能对象热度算法,分层缓存热点资源,让资源精准加速
-
高性能缓存
均衡使用CPU多核处理能力,高效合理使用和控制内存,最大化SSD IOPS和吞吐
-
超高读写能力
各节点具备高速读写固态硬盘SSD存储,配合SSD加速能力,大幅减少用户访问等待时间,提高可用性
-
灵活自定义缓存过期时间
自定义指定资源内容的缓存过期时间规则,支持指定路径/test/…或者文件名后缀如*.html方式
-
自定义请求头
设置http请求头,目前提供多个http请求头参数可供自行定义取值
灵活自定义缓存过期时间举例:
举例:为加速域名example.aliyun.com设置三则缓存配置规则:
- 缓存策略:文件名后缀为jpg、png的所有资源过期时间为1月,权重设置为90。
- 缓存策略:目录为/www/dir/aaa过期时间为1小时,权重设置为70。
- 缓存策略:完整路径为/www/dir/aaa/example.php过期时间为0s,权重设置为80。
这三个缓存策略的生效顺序是:策略1-象>策略3—>策略2。
(3)访问控制
访问控制:提供多重访盗链功能,refer防盗链、UA头防盗链、IP防盗链、URL鉴权校验,完美解决盗链危害
-
Refer防盗链
通过配置访问的referer 黑白名单来对访问者身份进行识别和过滤,从而限制资源被访问的情况
-
鉴权配置
高级防盗链功能,设置鉴权 Key 对URL进行加密,保护用户源站资源
-
IP黑名单
进入黑名单的IP,表示此IP无法访问当前加速域名
(4)性能优化
性能优化:页面优化、智能压缩功能,减少传输内容节约开销的同时提升加速效果。
-
页面优化
去除页面冗余内容如 html页面、内嵌javascript和css 中的注释以及重复的空白符
-
智能压缩
对静态文件类型进行压缩,有效减少用户传输内容大小
-
过滤参数
回源时会去除URL中?之后的参数,有效提高文件缓存命中率,提升分发效率
(5)统计分析
统计分析:全景数据统计,丰富角度分析,客户画像描述助力亚务拓展。
(6)日志管理
日志管理:支持定制化日志服务,自定义永久存储,便捷下载分析
(7)图片鉴黄
图片鉴黄:基于深度学习技术,智能识别通过CDN加速的色情图片,降低用户的违规风险
- CDN图片鉴黄是CDN加速的一项增值服务,开通此功能后,用户在使用CDN服务过程中,系统会自动检测通过CDN加速的图片是否涉黄,违规图片的URL将会被记录下来供用户导出和删除。
- CDN图片鉴黄按照扫描张数计费,以回源的图片作为检测基数,同一条图片URL只会被检测一次,不会重复计费,同时用户还可以设置每日检测张数的上限,控制消费额度。
- CDN的图片鉴黄基于云计算平 台,能对海量数据进行快速检测,可以帮助用户节省90%以上的人力成本。