如何“多快好省”地使用阿里云产品实现数据下载加速

简介: 阿里云CDN下载加速解决方案旨在通过全球调度中心智能化地将客户端的下载请求精准调度到分布于全球的最优CDN边缘节点,同时依托海量带宽储备及强大的CDN控制逻辑让企业省心省力地为用户带来极速下载体验,助力企业获得更大的市场回报。

阿里云CDN下载加速解决方案旨在通过全球调度中心智能化地将客户端的下载请求精准调度到分布于全球的最优CDN边缘节点,同时依托海量带宽储备及强大的CDN控制逻辑让企业省心省力地为用户带来极速下载体验,助力企业获得更大的市场回报。

1. 背景

近十年,中国互联网企业迎来了井喷式发展,各类app、游戏、软件、音视频等垂直领域都有明星级产品产生,同时也催生了各类中小企业竞相开发相应的数据产品进行市场竞争。在激烈的竞争中,如何让企业不再费神于数据资产的分发及管理、而是可以快速地进行数据产品的分发传递,更加专注产品本身,是云企业很重要的一项工作。

2. 目标读者

应用市场类、游戏分发、音视频分发等各数据分发型中小互联网企业。

3. 适用场景

应用市场、游戏分发、音视频分发。

4. 行业痛点

当前数据资产分发场景中,存在诸多实际问题,中小企业在产品开发及数据分发两个维度,往往无法同时兼顾,针对此类场景,我们总结有以下几类痛点:

  • 源站类:源站如何支持高并发、如何支持弹性扩容、如何进行全维度数据处理。

  • 访问类:访问质量如何保障、数据安全及完整性如何落地。

  • 成本类:源站成本巨大、访问带宽如何控制。

  • 运营类:日常运营及各类监控告警能否高度智能化。

5. 方案介绍

image.png

传统CDN加速方案中,需要内容厂商自建源站、存储、数据处理、DNS解析等架构,不仅费时费力,同时会导致内容厂商无法专注于数据本身。阿里云提供一站式接入服务,从客户端至内容源站,提供全维度支持,实现“云、管、端”无缝衔接。如上架构图中,相关模块分别为:

  • 源站模块。

  • 边缘CDN加速系统。

  • DNS解析系统。

  • 运营控制中心。

6. 实施流程

6.1 源站构建

内容厂商使用阿里云对象存储OSS产品构建源站,该产品是一款海量、安全、低成本、高可靠的云存储服务。多种存储类型供选择,全面优化存储成本。同时提供多种数据处理能力,如图片处理、视频截帧、文档预览、图片场景识别、人脸识别、SELECT查询等,通过简单的RESTful接口,可以在任何时间、任何地点、任何互联网设备上,对存储在OSS中的数据进行分析处理。

操作步骤一:创建存储空间

  1. 登录OSS管理控制台

  2. 单击左侧导航栏的Bucket列表,然后单击创建Bucket

  3. 创建Bucket面板,按如下说明配置必要参数。其他参数均可保持默认配置,也可以在Bucket创建完成后单独配置。

参数

描述

Bucket名称

Bucket的名称。Bucket一旦创建,则无法更改其名称。

命名规则如下:

  • Bucket名称必须全局唯一。

  • 只能包括小写字母、数字和短划线(-)。

  • 必须以小写字母或者数字开头和结尾。

  • 长度必须在3~63字符之间。

地域

Bucket的数据中心。Bucket一旦创建,则无法更改其所在地域。

如需通过ECS内网访问OSS,请选择与ECS相同的地域。更多信息,请参见OSS访问域名使用规则

同城冗余存储

OSS同城冗余存储采用多可用区(AZ)机制,将用户的数据以冗余的方式存放在同一地域(Region)的3个可用区。当某个可用区不可用时,仍然能够保障数据的正常访问。

  • 启用:开启同城冗余存储,则Bucket内的Object将以同城冗余的方式进行存储。例如,Bucket存储类型为标准存储,则该Bucket内的Object默认为标准存储(同城冗余)。详情请参见同城冗余存储

    重要

    • 仅华南1(深圳)、华北2(北京)、华东1(杭州)、华东2(上海)、中国(香港)、新加坡地域支持开启同城冗余存储。

    • 仅允许创建Bucket时开启同城冗余存储。开启后不支持关闭,请谨慎操作。

  • 关闭:默认不开启同城冗余存储,则Bucket内的Object将以本地冗余的方式进行存储。例如,Bucket存储类型为标准存储,则该Bucket内的Object默认为标准存储(本地冗余)。

操作步骤二:上传文件

  1. 单击左侧导航栏的Bucket列表,然后单击目标Bucket名称。

  2. 在文件管理页签,单击上传文件

  3. 在上传文件面板,按如下说明配置各项参数。

参数

说明

上传路径

设置文件上传到OSS后的存储路径。

  • 当前目录:将文件上传到当前目录。

  • 指定目录:将文件上传到指定目录,您需要输入目录名称。若输入的目录不存在,OSS将自动创建对应的文件夹并将文件上传到该文件夹中。

文件ACL

选择文件的读写权限。

  • 继承Bucket:单个文件的读写权限以 Bucket 的读写权限为准。

  • 私有(推荐):对文件的所有访问操作需要进行身份验证。只有文件Owner拥有该文件的读写权限,其他用户没有权限操作该文件。

  • 公共读:文件Owner拥有该文件的读写权限,其他用户(包括匿名访问者)都可以对文件进行访问,这有可能造成您数据的外泄以及费用激增,请谨慎操作。

  • 公共读写:任何用户(包括匿名访问者)都可以对文件进行访问,并且向该文件写入数据。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可能会侵害您的合法权益。除特殊场景外,不建议您配置公共读写权限。

  • 有关文件ACL的更多信息,请参见Object ACL

待上传文件

选择您需要上传的文件或文件夹。

您可以单击扫描文件或扫描文件夹选择本地文件或文件夹,或者直接拖拽目标文件或文件夹到待上传文件区域。

重要

  • 如果上传文件夹中包含了无需上传的文件,请单击目标文件右侧的移除将其移出文件列表。

  • 如果上传的文件与存储空间中已有的文件重名,则新文件会覆盖已有文件。

  • 使用拖拽方式上传文件夹时,OSS会保留文件夹内的所有文件和子文件夹。

  • 文件上传过程中,请勿刷新或关闭页面,否则上传任务会被中断且列表会被清空。

6.2 CDN加速

数据分发板块使用阿里云CDN,依托阿里云全球调度中心智能化地将客户端的下载请求精准调度到分布于全球的最优CDN边缘节点,帮助内容厂商解决用户在下载过程中出现的各类问题,问题包括下载速度慢、数据盗链、带宽突发、成本过高、运营商劫持篡改等。

操作步骤一:开通CDN服务

  1. 登录阿里云CDN产品详情页

  2. 单击立即开通

  3. 计费类型默认按使用流量计费,并选中服务协议

    CDN产品定价,请参见CDN定价

  4. 单击立即开通

    成功开通CDN服务后,您可以登录阿里云CDN控制台,进入CDN管理控制台界面。

操作步骤二:添加加速域名


使用阿里云CDN加速指定网站(源站)的业务前,需要添加源站加速域名,并接入CDN。添加加速域名后,系统会将相关域名配置下发至全网CDN加速节点,此时不会影响您的现网业务。

  1. 配置基础信息和业务信息

    1. 登录CDN控制台

    2. 在左侧导航栏,单击域名管理

    3. 单击添加域名,完成基础信息业务信息配置。添加域名

参数

说明

加速域名

  • 域名类型:子域名(例如,example.aliyundoc.com)或泛域名(例如,*.aliyundoc.com)。

  • 格式:支持全英文小写的域名,例如example.com,不支持含大写英文字母的域名。

  • 中文域名:例如:阿里云.网址,请以中文形式进行相关备案,再通过第三方工具punnycode将中文域名转换成为英文域名(例如:xn--fiq****.xn--eq****)后填入。

  • 泛域名要求:

    • CDN支持泛域名加速,关于泛域名的层级限制,请参见CDN支持泛域名加速吗

    • 泛域名和子域名必须在同一个账号下,否则添加域名时系统会报错。如果您无法自行解决,请提交工单处理。

    • 如果泛域名未被添加到任何CDN账号下,则支持在多个账号下添加不同的子域名。

    • 单个泛域名最多匹配500个精确域名,超过500个后新增的精确域名无法同步获取泛域名配置,即无法使用CDN服务。

    • 加速域名不允许重复添加。

      • 如果出现域名已被添加到其他云产品(例如视频点播、全站加速等)的提示,您可以提交工单

  • 每个阿里云账号最多可以添加50个加速域名。

说明

如果您域名的总带宽日均峰值大于50 Mbps,且业务无风险,可提交工单申请增加域名个数。

  • 加速内容必须合法且符合CDN业务规范。详细信息,请参见使用限制关于内容审核部分。

  • 字符串长度:不超过67个字符。

  • 备案:如果您的加速区域为全球或仅中国内地,无论源站在哪里域名都必须备案,推荐您进入阿里云ICP代备案管理系统进行备案。

  • 回收规则:如果您的域名处于停用状态超过120天(包含审核未通过状态),阿里云CDN会自动删除该域名的相关记录。如果您需要继续使用,需前往阿里云CDN控制台重新添加域名。

  • 下线(offline)规则:详细信息,请参见关于域名下线(Offline)规则调整的公告

业务类型

配置后不允许修改,需谨慎选择。

  • 图片小文件:适用于电商类、网站类、游戏图片类等小型的静态资源加速场景。

  • 大文件下载:适用于大于20 MB的静态文件加速场景。

  • 视音频点播:适用于音频或视频文件加速场景。

  • 全站加速:适用于含有大量动态和静态内容混合,且多为动态资源请求的加速场景。

说明

当业务类型选择全站加速时,您需根据界面提示,前往全站加速控制台添加域名并进行相关配置。具体操作,请参见添加加速域名

加速区域

  • 仅中国内地:全球用户访问均会调度至中国内地加速节点进行服务(海外用户的访问流量将会被调度至华东电信的CDN节点)。

  • 全球:全球用户访问将会择优调度至最近的加速节点进行服务。

  • 全球(不包含中国内地):全球用户访问均会调度至中国香港、中国澳门、中国台湾以及其他国家和地区的加速节点进行服务(中国内地用户将会被调度至日本、新加坡和中国香港的CDN节点)。

重要

  • 加速区域为仅中国内地或全球时,加速域名必须备案,您可以登录阿里云ICP代备案管理系统完成备案。由于工信部备案系统存在数据延迟,刚完成备案的域名请在8小时后再配置。

  • 不同的加速区域价格不一样,请根据您的实际需求选择。计费详情,请参见CDN定价

资源分组

选择默认资源组或您自己创建的资源组。创建新的资源组,请参见创建资源组

2. 配置源站

i. 完成基础信息和业务信息配置后,单击新增源站信息

ii. 在新增源站信息页面,完成以下配置。

image.png

参数

说明

源站信息

选择源站的类型,并填写源站地址。

  • 地址长度:最长不超过67个字符。

  • 源站数量:每个加速域名的源站数量最多可以设置20个。

  • OSS域名

    • 资源已存储在阿里云OSS中,可直接输入阿里云OSS Bucket的外网域名作为源站(不支持OSS内网域名作为源站),例如:***.oss-cn-hangzhou.aliyundoc.com。

    • 查看OSS外网域名:前往OSS控制台查看,或直接选择同账号下的OSS Bucket。

  • IP:支持配置多个服务器外网IP作为源站地址,不支持内网IP,阿里云ECS的外网IP可免审核。

  • 源站域名:支持配置域名作为源站地址,可配置多个域名。

说明

  • 源站域名不能与加速域名相同,否则会造成循环解析,无法回源。

  • 域名仅支持全英文小写。

  • 如果域名包含中文(例如:阿里云.网址),请以中文形式进行相关备案,再通过第三方工具punnycode将中文域名转换成为英文域名(例如:xn--fiq****.xn--eq****)后填入。

  • 函数计算域名:支持将您在同一账号下的函数计算产品上配置的函数计算域名,配置为源站地址。您需要选择函数计算区域和域名。操作方法,请参见配置自定义域名

优先级

支持设置主备,主优先级大于备优先级。用户请求通过阿里云CDN回源时,会优先回源到优先级为主的源站地址。

例如,有A、B两个源站,A源站的优先级为主,B源站的优先级为备,则用户请求通过阿里云CDN回源时会优先回源到A源站,如果A源站出现故障,将会回源到B源站,当A源站恢复正常后会从B源站切换回A源站。

权重

当多个源站的优先级相同时,阿里云CDN会按照源站的权重分配用户请求回源到不同源站的比例,实现按权重的负载均衡。您可以根据业务需求,自行设置权限值。

  • 取值范围:1~100,数值越大,源站分配到的用户请求比例越高。

  • 默认值:10。

示例:有A、B两个源站,两个源站的优先级都是主,A源站的权重为80,B源站的权重为20,则用户请求将会按照8:2的比例在A、B两个源站之间分配。

端口

即,CDN节点回到源站哪个端口请求资源。默认为80,根据您源站的支持情况,可自定义设置回源端口,允许设置的端口范围为1~65535。

  • 默认值:80。

  • 端口值为443时,以HTTPS协议回源;80或其他自定义端口,以HTTP协议回源。

说明

  • 如果需要以HTTPS协议回源到其他自定义端口,请提交工单申请。

  • 如果配置了回源协议功能(默认为关闭状态),这里配置的端口会失效。关闭回源协议的方法,请参见配置回源协议

  • 当源站选择OSS域名时,回源端口是否支持自定义端口,取决于OSS产品。

iii. 配置完成后,单击确定。

iv. 可选:您可根据需求重复以上步骤添加多个源站。

  1. 完成域名审核

i. 完成源站配置后,单击下一步

ii. 可选:首次在CDN控制台添加一个新域名时,需要完成域名归属权验证。

iii.等待人工审核。

4. 域名配置策略

成功添加加速域名后,建议您进行缓存过期时间、带宽封顶、页面优化等功能的配置,可有效提升CDN的缓存命中率、安全性和访问性能。

i. 提高缓存命中率与访问速度

访问速度慢通常与缓存命中率低有强关联性,推荐您配置缓存过期时间、过滤参数功能提升缓存命中率。

场景

说明

配置

缓存命中率低、访问速度慢

设置的缓存时间过短或未设置缓存规则,导致频繁回源站获取资源。合理配置缓存过期时间,可有效提升资源的缓存命中率,提升访问性能。

缓存时间设置建议如下:

  • 不常更新的静态文件:例如图片、应用下载类型等,缓存时间建议设置1个月以上。

  • 频繁更新的静态文件:例如JS、CSS等,根据实际业务情况设置。

配置缓存过期时间

默认客户端回源获取资源时需精确匹配URL中?之后的参数。开启过滤参数(可保留指定参数)功能后,客户端回源获取资源时会去除URL请求中?之后的参数,有效提高文件缓存命中率,减少回源次数。

说明 开启过滤参数后,如果需要保留部分参数,您可以配置需要保留的指定参数。

开启过滤参数及配置保留参数

默认客户端回源获取资源时需精确匹配URL中?之后的参数。开启过滤参数(可删除指定参数)功能后,客户端回源获取资源时会去除URL请求中?之后的参数,有效提高文件缓存命中率,减少回源次数。

说明 开启过滤参数后,如果需要保留多数参数,仅删除部分参数,您可以配置需要忽略的参数,忽略参数将被删除。

开启过滤参数及配置删除参数

ii. 提高CDN的访问安全性

为防止域名因受到攻击等原因产生突发高带宽,您可以设置监控报警,实时监控带宽的变化情况,或者通过带宽封顶功能,设置带宽上限,防止产生过高的带宽。

场景

说明

配置

限制带宽过高

通过带宽封顶功能,设置带宽上限,当检测到某个统计周期的带宽超出您设置的带宽上限时,CDN根据已有策略,对全网QPS进行单链接限速或拒绝服务,实现方式可选。

后台配置

通过在云监控产品中创建报警规则,实现对网络带宽的报警监控,帮助您及时了解带宽异常并快速进行处理。

设置报警

对单链接请求进行限速

举例:设置限速值。限速值默认下限为4 KB/s,当您设置的限速值低于4 KB/s时,默认生效4 KB/s。

limit_rate_after(10, 'k')  limit_rate(1, 'm')

说明

设置前10 KB不限速,之后限速为1 MB/s。

限速相关函数

iii. 提高CDN的访问性能

结合您的实际业务需求,通过配置页面优化、Range回源、智能压缩功能,可缩小访问文件的体积,提升资源加速效率和页面可读性。

场景

说明

配置

提高访问性能

CDN会自动删除页面的冗余内容,例如HTML页面、内嵌JavaScript和CSS中的注释以及重复的空白符,可有效去除页面的冗余信息,缩小文件体积,提高加速分发效率。

页面优化

客户端通知源站服务器只返回指定范围的部分内容,适用于音视频等较大文件的内容分发加速,可减少回源流量消耗,并提升资源的响应时间。

配置Range回源

CDN节点向您返回请求的资源时,会对文本文件进行Gzip压缩,可有效缩小传输文件的大小,提升文件传输效率,减少带宽消耗。

智能压缩

6.3 DNS解析

客户端接入模块,使用阿里云云解析 DNS(Domain Name System,简称DNS)产品,该服务是一种安全、快速、稳定、可靠的权威DNS解析管理服务。能够帮助企业和开发者将易于管理识别的域名转换为计算机用于互连通信的数字IP地址,从而将用户的访问路由到相应的网站或应用服务器。

概述

CDN解析是通过将域名指向CDN厂商提供的CNAME地址,实现网站的加速服务。

前提条件

启用CDN加速服务,需要将您的加速域名指向CDN分配的CNAME地址,这样访问加速域名的请求才能转发到 CDN节点 上,从而达到加速效果,所以请联系您的CDN提供商提供CNAME地址。

操作步骤

以阿里云CDN提供的CNAME地址为例来进行配置:

  1. 登录 CDN控制台,单击域名管理。

  2. 复制加速域名对应的CNAME地址。

image.png

  1. 登录云解析DNS控制台

  2. 域名解析页面,全部域名页签下,点击需要加速的域名,进入解析设置页面 。image.png

  3. 点击添加记录,并在记录值添加CDN提供商提供的CNAME地址。

image.png  image.png

  1. CNAME配置生效后,CDN服务也会立即生效。可以参阅解析生效测试方法文档。

7. 方案优势

  • 简单易用

从客户端到服务端及源站,提供立体化、一站式接入解决方案,自助化进行域名的增、删、改、查,丰富简洁可定制,支持各类缓存功能。开放API接口,提供服务开通、内容刷新、获取监控数据、下载分发日志等全功能。

  • 高可用

2800+ 全球节点,150T带宽能力,六大洲覆盖,全智能调度,弹性扩容,采用分布式系统架构和自主研发高性能缓存软件,稳定高效。

  • 低成本

从客户端到服务端及源站,全维度弹性扩容、带宽可控,有效降低内容厂商数据分发的成本。

  • 安全保障

各类定制化防盗链为内容厂商提供精准的数据版权保护,高可用防劫持方案提升用户访问体验。

8. 常见问题

什么是阿里云CDN?

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

阿里云CDN整体能力如何?

阿里云在全球拥有2800+节点。中国内地(大陆)拥有2300+节点,覆盖31个省级区域;海外、中国香港、中国澳门和中国台湾拥有500+节点,覆盖70多个国家和地区。全网带宽输出能力达150 Tbps。

阿里OSS存储服务是否支持文件处理?

阿里云短视频SDK提供短视频录制、导入、编辑等功能,结合上传SDK、OSS、MTS、CDN及阿里云播放器,可实现短视频的采集、上传、存储、转码、分发、播放的完整功能。同时,OSS自身支持对各类音视频进行常规数据处理,诸如截图、水印、转码、剪辑拼接、音频处理、画质重生、H265等。

什么是阿里云解析DNS?集群规模如何?

阿里云解析DNS(Alibaba Cloud DNS)是一种安全、快速、稳定、可扩展的权威DNS服务,云解析DNS为企业和开发者将易于管理识别的域名转换为计算机用于互连通信的数字IP地址,从而将用户的访问路由到相应的网站或应用服务器。云解析DNS依托阿里云全球机房基础设施和技术创新能力,在全球有20个DNS集群节点,并通过BGP IP + NS智能优化技术实现用户就近接入和最低延迟的解析能力。

9. 术语介绍

术语

说明

源站

源站,指运行业务的网站服务器,是加速分发数据的来源。

源站可用来处理和响应用户请求,当边缘节点没有缓存用户请求的内容时,节点会返回源站获取资源数据并返回给用户。阿里云CDN的源站可以是对象存储OSS、函数计算、自有源站(IP、源站域名)。

边缘节点

边缘节点是阿里云CDN用于缓存源站资源,以便快速响应不同地域用户请求的网络节点。

在阿里云CDN的帮助文档中,边缘节点、CDN节点、Cache节点、缓存节点、加速节点、阿里云节点等都指阿里云CDN的边缘节点。

加速域名

加速域名,是您接入CDN用于加速、终端用户实际访问的域名。例如,您将域名aliyundoc.com接入阿里云CDN,aliyundoc.com即为加速域名。

阿里云CDN通过加速域名,将源站资源缓存到CDN加速节点,实现资源访问加速。在阿里云CDN的帮助文档中,加速域名通常被简写为域名。

CNAME记录/CNAME域名

CNAME(Canonical Name)记录,指域名解析中的别名记录,用来把一个域名解析到另一个域名(CNAME域名),再由CNAME域名来解析到需要访问的服务器IP地址。

CNAME域名,是CDN生成的,当您在阿里云CDN控制台添加加速域名后,系统会为加速域名分配一个*.*kunlun*.com形式的CNAME域名。

添加加速域名后,您需要在您的DNS解析服务商处,添加一条CNAME记录,将加速域名唯一解析到CNAME域名,记录生效后域名解析就正式转向CDN服务,该域名所有的请求都将转向CDN的边缘节点,达到加速效果。CNAME域名将会解析到具体哪个CDN节点IP地址,将由CDN的调度系统来综合区域、运营商、节点资源水位等多个条件来决定。

静态内容(静态资源)

静态内容是指用户多次请求某一资源,响应返回的数据都是相同的内容。例如图片、视频、网站中的文件(HTML、CSS、JS)、软件安装包、APK文件、压缩包文件等。

CDN通过加速域名将源站的静态资源缓存到CDN遍布全球的加速节点上,供用户就近访问,实现资源访问加速。

DNS/域名解析

DNS(Domain Name System)即域名解析服务,主要功能是将域名解析为网络可以识别的IP地址,即域名解析。人们习惯记忆域名,但机器间互相只识别IP地址。域名解析需要由专门的DNS服务器来完成,整个过程自动进行。例如,您上网时输入域名aliyundoc.com会自动转换成10.10.10.10(举例说明,具体IP以实际为准)。

阿里云的DNS解析产品是云解析DNS。详细信息,请参见云解析DNS

作者介绍
目录