互联网业务的繁荣让各类门户网站、短视频、剧集观看、在线教育等内容生态快速发展,互联网流量呈现爆发式增长,自然也面临着海量内容分发效率上的挑战,那么作为终端用户,我们获取资源的体验是否有提升呢?

答案是肯定的。持续改善用户体验的过程中,不仅受益于网络基础设施的建设,云计算产品也肩负着特有的使命。

当前,全球互联网流量一半以上通过 CDN 进行接入,CDN 帮助用户更快速、更安全地消费互联网内容,不管是浏览门户网站、观看短视频和长剧, 还是网上购物、在线学习,背后都有 CDN 在后台加速的身影。尤其在 2020 年春夏新冠肺炎疫情期间,CDN 支撑了上亿个学生的在线课堂学习,成功应对了在线课堂流量相较之前几十倍的增长,使得各级学校实现了停课不停学的目标,实现了巨大的社会价值。

那么CDN是什么呢? 互联网内容的分发模式与传统商品货物的分发模式有许多共通之处,在介绍 CDN 是什么之前,我们不妨思考一下是哪些因素让日常生活的购买效率更高,时效性更强?

首先,交通工具的便利及道路基建能力的提升,运输效率提升,让货物运输速度更快。 其次,仓储物流能力的建设,货物在多地仓库分布式仓储,位于同地区的多个超市便利店可选择从本地仓库直接进货,而顾客也可以直接在家门口的超市便利店购买所需商品,无需用户和源头生产厂商直接完成订单交易。 最后,售卖点的数量、覆盖范围的扩张也都为购买过程带来了体验上的改善,每个小区门口甚至单元楼都已经覆盖了便民超市,如今最近距离商品交易只需从身边的自动贩卖机就能够完成。

如何更通俗地去理解 CDN 是什么呢,我们也不妨尝试用购买效率提升的思路来帮助理解:CDN 在网络上的作用就像现实中用户身边的自动贩卖机、家门口的超市、各地的集中仓储,让用户可以最近距离很快捷的获取所需商品。

从技术视角出发,CDN 通过多级代理服务器对源站内容(例如 js/css/html/mp4 等)进行缓存,让静态内容缓存在距离用户更近的 IDC 机房节点上,实现用户获取资源的网络距离大幅度缩减,进而提升终端用户体验和传输效率。

如果要实现对全球业务的分发加速,自然需要海量节点储备用于给终端用户提供服务,而作为一个全球化的分布式系统,CDN 对系统性能和稳定性有非常高的要求,当前阿里云 CDN 主要由调度系统、链路质量系统、缓存系统、支撑系统等子系统组成,这些子系统共同构成了 CDN 大脑神经网络来保证 CDN 的日常服务。

调度系统:支持策略中心、DNS、HTTPDNS和302调度模式。当终端用户发起访问请求时,用户的访问请求会先进行域名DNS解析,调度系统将根据用户解析请求中携带的 IP 地址判断其区域、运营商,为用户选择并返回最佳接入节点 IP (DNS 未携带客户端 IP 时,调度根据DNS IP决策)。 链路质量系统:实时监测缓存系统中所有节点和链路的实时负载以及健康状况。调度系统在决策最优节点时,也会综合链路质量、实时负载等因素来为用户分配服务节点。 缓存系统:用户通过收到的最佳接入节点 IP 访问对应的缓存节点,如果节点已经缓存了用户请求的资源,会直接将资源返回给用户。 支撑系统:支撑服务系统包括天眼、数据智能和配置管理系统,分别具备了资源监测、数据分析和配置管理能力。 创建 CDN 加速域名后,CDN 将为您的加速域名分配 CNAME 记录值,您需要将域名解析至 CNAME 记录后才能接入CDN的智能调度系统。在正式接入 CDN 后,终端用户访问时经过的流程大致如下:

1.本机 DNS 发起对访问域名的解析查询,加速域名权威DNS将响应您所配置的 CNAME 地址,DNS 继续对CNAME 记录发起查询后,解析结果将根据阿里云调度系统决策,从权威 DNS 中返回最优节点 IP 地址。 2.用户本地发起和节点 IP 的建联,建联后开始发送 HTTP 请求,此时访问节点为边缘节点(L1),如果 L1 节点已缓存了用户请求的文件,L1 将直接返回缓存内容给用户,此时请求结束。 3.如果边缘节点(L1)没有该文件的缓存,将回源至上层节点(L2)获取资源,如果 L2 节点已缓存用户请求的文件,将直接返回缓存内容给L1,L1响应给用户并将文件缓存到本地,此时请求结束。 4.如果 L2 节点也没有用户所请求的文件,L2 节点将根据您在CDN控制台上的配置,回源到您的业务源站拉取资源返回给 L1 ,并将文件缓存到 L2 本地,此时请求结束。

最后在回归到CDN,CDN的优势我们已经了解到了,但是该选择哪一家的CDN呢?其实在选择反而没有太多考究,主要根据你自己的需求或意向来,几乎市面上大多数云服务器厂商都会有CDN产品,无非就是选择哪家的问题,但是对于一些大的厂商,如AWS、阿里云、腾讯云、华为云我们都是有折扣返点的,欢迎联系我们

TG:@aliyun918。