开发者学堂课程【企业上云攻略-阿里云网络产品应用系列教程:CDN 的使用场景和常见问题】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/573/detail/7892
CDN 的使用场景和常见问题
目录:
一、CDN 的使用场景
二、静态加速
三、直播加速
四、移动应用加速
五、全站加速
六、安全加速
七、大文件加速
八、计费方式
九、CDN 服务等级协议
本章节主要学习 CDN 的使用场景以及 CDN 常见问题,以便更好的理解和创建 CDN 服务。
一、CDN 的使用场景
1、CDN 的典型应用场景有:
静态加速、直播加速、移动应用加速、全站加速、安全加速、大文件加速
2、通过本章节的学习需要掌握以下几个问题:
(1)静态加速中静态文件怎么实现加速的?
(2)在做直播平台的时候,怎么去实现用户的直播访问体验呢?让用户直播的时候不会感觉到卡顿,不会感觉到延迟。
(3)最典型的移动应用加速。现在每天的生活都跟手机的 APP 密切相关,那如何保证移动用户在移动的过程中,使应用保持很好的体验呢?
(4)全站加速和安全加速。全站加速和安全加速在阿里云里面已经是作为两个独立的产品而存在。
(5)需要了解大文件的加速。
加速场景的目的其实就是通过 CDN 的加速来提高用户访问的速度,或者是,用户访问这个站点的成功率。
(6)如何实现动静分离?比如,在一个站点里,有静态的页面,也有动态的页面。动态页面可能需要实时更新,可能在短期之内不需要更新,这时,能不能实现动态页面和静态页面的分离加速呢?如何去实现大文件的快速下载呢?应该怎么通过 CDN 来实现呢?
(7)在使用 CDN 时,可能会面临各种各样的外部攻击。
如何行之有效地去防止这些外部攻击?并保证 CDN 在加速过程中的安全性。CDN ,不仅仅是一个纯粹意义上的缓存功能,实际上还是指加速或者安全。怎么去实现安全的加速?
二、静态加速
设置静态文件路径→设置静态文件类型→设置静态文件 URL
站点或应用中大量静态资源的加速分发。建议将站点内容进行动静分离,静态内容使用阿里云 CDN 加速。动态内容可以使用全站加速,静态资源如各类型图片、css、js 小文件等,建议结合对象存储 OSS 使用。
静态加速,在 CDN 里是最常见的一种加速方式。看图:
1、请求静态数据
用户访问站点的时候,如果用户请求的是静态数据,注意,这时 CDN 起作用,会去源站里请求用户要访问的数据,然后再把这个数据抓取回来。可以把这个数据放在 OSS 的云存储上去,通过 CDN 把它返给最终的用户。
2、请求动态数据
如果请求的是动态数据,用户实时请求 web 服务器的时候,或者,实时请求数据库时,就是实时的返回。这时,可以实现静态加速。通过静态加速,可以实现将大量的静态资源图进行加速,并且实现真正意义上的动静分离。比如:图片,动态网页等就实现了分离加速方式。这种场景里面,可以通过设置静态文件的路径设置静态文件的类型。比如:设置 TXT 文件类型,或者 JPG 文件类型来实现加速,或者,可以设置某个 URL 进行加速。这是静态加速的功能。
三、直播加速
1、阿里云 CDN 直播加速产品可以支持客户不同的直播流输入方式,目前支持推流 RTMP/HTTP-FLV ,拉流支持 RTMP/HTTP-FLV/HLSHDS
2、智能调度系统可以将用户请求定位到最优节点
3、直播中心用于处理对直播流的处理,包括转码率、转分辨率、转音视频编码格式、HLS 切片等。
4、遍布全球的 CDN 边缘节点用于实时、快速地响应终端用户的请求。
直播加速,随着互联网发展得越来越广泛、发达,用户获取信息的方式有很多,比如,主流的各种各样的视频直播平台、流行的各种手机端的短视频直播平台等。这个时候,用户不需要再坐在电脑前才能去跟网上的主播进行互动,可以直接通过手机去访问各种各样的直播平台。访问直播平台的时候,希望用户能得到很便捷的体验。希望高清、流畅,需要的延迟,希望音频比较清晰。那么,在这种直播场景里面,就是为了满足大量用户的体验。在面对大量用户并发的场景时,可以使用阿里云提供的直播加速功能,就能很直观的提升用户访问的体验。比如:推流、转码、分发播放等。阿里云就提供了一套完整的解决方案,这时,跟 CDN 结合实现了一个完美的直播方式。在价格上会更优惠。通过这种方式,彻底的让用户告别直播卡顿、观看体验差、甚至内容会被盗窃的风险。直播加速能解决这些问题来提升用户的体验,满足用户的这些需求。
四、移动应用加速
场景:多终端自适应畅快移动网络体验
功能:防劫持、多终端自适应、动静态加速
作用:移动 APP 更新文件( apk 文件)分发、移动 APP 内图片、页面、短视频、UGC 等内容的优化加速分发。
移动应用加速。各种各样的 APP 去访问各种各样的应用,这时,移动加速为了加快移动用户的访问体验,可以引入HTT DNS 来加快解析,HTTP 的 DNS 解析方式是按照 HTTP 的方式进行,可以绕开本地 DNS ,防止解析被劫持,可以实现精准的匹配,或者精准解析来加快移动场景下的解析方式。如图,配合了 HTTPDNS 来实现就近或者就快的记录方式。这种方式适应多种类型的终端,比如安卓的,苹果的等。对各种终端的适应能力比较强。
为什么这种场景里要使用 HTTPDNS 这种方式呢?
最终的目的就是解决多终端的适应。动静态加速也是支持的,也可以通过中间的 CDN ,或边缘的 CDN 来实现动静态加速。静态内容可以实现高效的缓存,保证 DNS 也能实现精准的解析。在这种场景里面,也可以配合 CDN 来提高移动应用的加速功能。
五、全站加速
场景:电商平台,应对在线支付,秒杀等突发流量问题。
功能:高性能、弹性带宽、丰富的回源策略。
作用:自定义动静内容缓存规则,访问链路优化,传输内容压缩合并,智能选路,链路复用
全站加速和安全加速,已经是阿里云里的单独独立出来的一个功能。
看全站加速的图。通过全站加速来提升静态资源混合站点的访问体验(注意:是静态资源混合站点的访问体验)。这样的好处是支持静态资源的边缘缓存。所以,这里能看到一个边缘节点的 CDN 。动态内容最优的路由图源,可以满足整体站点全网的访问速度以及稳定的需求。在这种场景下,因为性能比较高,具有丰富的活跃的策略。
特别是电商这种场景,在双11、双12活动时,用户需要得到快速响应、快速体验、快速下单的场景里,特别适合于全站加速。
全站加速适用于动静混合性站点,或者,纯动态性的站点。
全站加速最典型的例子就是电商平台。主要应用在突发高流量,或者,需要在线秒杀的这种场景里,用来提高电商平台的整体下载速度,解决源站和用户之间跨网或者多终端访问的瓶颈。用户下单的时候,可能使用手机或电脑下单。通过全站加速这种方式来提高用户的体验,最终的目的其实就是用来降低源站的突增压力。
六、安全加速
场景:游戏平台。保证下载及性能稳定,同时免遭受流量攻击
功能:高性能、弹性带宽、安全防护
作用:解决源站和玩家跨网、多终端访问瓶颈基于智能调度网络,有效抵抗 web 攻击,保障源站安全
安全加速:SCDN 。是安全的 CDN 。
到底安全在哪?
游戏平台就是典型的例子。在稳定加速的同时,要实现安全。
什么是安全?主要是实现防止 DDOS 的攻击,或者 CC 攻击的防护能力,通过阿里云的智能调度系统,将 DDOS 的恶意攻击请求,把它平滑切换到高峰 IP 去完成清洗动作来保证源站的安全。
游戏平台、金融、电商、政企、医疗行业、互联网行业等都需要通过安全加速防止避免受到攻击干扰。在避免攻击干扰的同时,实现安全加速,可以兼顾内容加速的提升,保证跨网或者多终端的流畅运营。
上图中,带有安全能力的 CDN 中间源,实现防止源站受到 DDOS 的攻击。这种场景下可以选用安全加速。
七、大文件加速
场景:高性价比稳定高速下载
功能:回源成本、高性能、灵活调度
作用:支持各类文件的下载、分发,支持在线点播加速业务,如 mp4、flv 视频文件或者平均单个文件大小在20M以上
用户要去下载一个特别大的文件(一般在20兆以上大文件、一个 G 或者两个 G 的大视频文件)。这种场景里,特别适用于视频点播,建议配合对象存储来使用,通过 HTTPDNS 来加快解析速度,通过对象存储提高存储的访问能力。这种方式,很大程度节省了带宽成本。所以,是高性能的,采用 OSS 存储解决存储的问题。通过灵活调度能实现实时监控,或者自动调用。
解决下载或网络不稳定等情况,可以使用大文件下载加速。
八、计费方式
当用户开通阿里云 CDN 时,计费方式包括基础服务和增值服务两种。基础服务计费方式:按流量计费或按峰值带宽计费
增值服务计费方式:开启 HTTPS 功能或业务类型为“全站加速”的域名,将会额外对静态 HTTPS 请求数计费。实时日志服务和图片鉴黄功能也单独计费。
1、计费方式:峰值带宽
描述:根据每日峰值带宽收取费用。每5分钟统计—个带宽数据,每日得到288个值,取其中的最大值。
使用场景:流量曲线比较平稳,不会忽高忽低。每天内网带宽利用率比较高,大于30%。
2、计费方式:流量
描述:按照每日从阿里云 CDN 节点流出的实际流量计费。
使用场景:流量曲线波动较大,有带宽尖峰,全天内带宽利用率小于30%。根据实际流量决定。
3、计费方式:流量包
描述:一次性付费,流量包有效期一年。类似于共享流量包。
使用场景:仅适用于按流量计费。若当前计费类型为带宽峰值,流量包余量将会冻结,直至切换回按流量计费后方可使用。
注意:按流量计费,带宽不能超过10个 G 。更详细的计费价格方式可以参考阿里云的官方站点里的说明。
九、CDN 服务等级协议
服务等级协议( Service Level Agreement,以下简称“SLA”)规定了阿里云向客户提供的 CDN (简称“CDN”)的服务可用性等级指标及赔偿方案。
CDN 服务可用性不低于99.90%
SLA= 协议定义:服务周期、服务周期总分数、失败请求、效的总请求……、服务可用性承诺、服务可用性
服务可用性=[(服务周期总分钟数-服务不可用分钟数)/服务周期总分钟数]×100%
阿里云承诺的可靠性是不低于99.9%。如果低于这个承诺,可以给用户进行相应的赔偿。SLA 具有相应的标准,如:可以根据服务周期、失败的请求数、有效的请求数、服务周期,服务周期总分数等相应的信息来判断可用性是否低于99.9%。如果可用性低于99.9%,用户会根据这个协议来获取一定的赔偿。
通过服务等级协议,保证用户在使用 CDN 时的可用性,保证达到失败以后给用户承诺的保障。