什么是内容分发网络?
内容分发网络(Content Delivery Network,CDN),是在现有 Internet 中增加的一层新的网络架构,由遍布全球的高性能加速节点构成。这些高性能的服务节点都会按照一定的缓存策略存储您的业务内容,当您的用户向您的某一业务内容发起请求时,请求会被调度至最接近用户的服务节点,直接由服务节点快速响应,有效降低用户访问延迟,提升可用性。
CDN 有效地解决了目前互联网业务中网络层面的以下问题:
- 用户与业务服务器地域间物理距离较远,需要进行多次网络转发,传输延时较高且不稳定。
- 用户使用运营商与业务服务器所在运营商不同,请求需要运营商之间进行互联转发。
- 业务服务器网络带宽、处理能力有限,当接收到海量用户请求时,会导致响应速度降低、可用性降低。
CDN 接入简单,您无需调整自身业务结构,或是进行复杂的操作配置,即可享受全球 CDN 加速服务。您可以通过 快速入门,轻松启动您的 CDN 加速服务。
加速原理
假设您的业务源站域名为 www.test.com
,域名接入 CDN 开始使用加速服务后,当您的用户发起 HTTP 请求时,实际的处理流程如下图所示:
详细说明如下:
- 用户向
www.test.com
下的某图片资源(如:1.jpg)发起请求,会先向 Local DNS 发起域名解析请求。 - 当 Local DNS 解析
www.test.com
时,会发现已经配置了 CNAMEwww.test.com.cdn.dnsv1.com
,解析请求会发送至 Tencent DNS(GSLB),GSLB 为腾讯云自主研发的调度体系,会为请求分配最佳节点 IP。 - Local DNS 获取 Tencent DNS 返回的解析 IP。
- 用户获取解析 IP。
- 用户向获取的 IP 发起对资源 1.jpg 的访问请求。
- 若该 IP 对应的节点缓存有 1.jpg,则会将数据直接返回给用户(10),此时请求结束。若该节点未缓存 1.jpg,则节点会向业务源站发起对 1.jpg 的请求(6、7、8),获取资源后,结合用户自定义配置的缓存策略(可参考产品文档中的 缓存过期配置),将资源缓存至节点(9),并返回给用户(10),此时请求结束。
加速原理类比说明
CDN 的原理类似增加了仓储模式的网购过程(商家 = 源站;买家 = 用户;仓库 = CDN 节点):
早期网购的方式是商家直接给全国各地的买家发送商品,送货时间受商家和买家的物理距离影响,距离长的自然送货时间就长;为解决该问题,网购平台在全国各省建设好仓库,商家将商品提前放到各省的仓库中,之后买家购买的商品就可以选择就近的仓库发货,有效减少了送货时间。
类比过程如下:
- 用户获取最佳 CDN 节点 IP 的过程(加速原理详细说明1、2、3、4):
买家要购买某个商品时,先在网购平台查询商品,网购平台将告知距离买家最近的仓库是哪个。 - 用户请求 CDN 节点的资源响应的过程(加速原理详细说明5、6):
买家向最近的仓库发送购买商品的消息,若仓库有该商品的库存,则直接将商品发送给买家;若仓库没有该商品的库存,则仓库将反馈商家,由商家将商品先发往仓库,再从仓库发送给买家。 - CDN 节点缓存过期判断的过程(加速原理详细说明6):
商家可以设置商品在仓库的存放过期时长,如30天。当买家购买的商品存放时间在30天内,仓库将直接发送给买家;而超过30天的商品将视为过期,仓库会清理过期商品的库存,买家购买时需要重新由商家发送新的商品至仓库。 - 源站资源变更后 CDN 缓存更新的过程(加速原理详细说明7):
当商品有更新时,为了保证买家获取到最新的商品,商家需要主动告知仓库清理该商品未过期的库存,否则仓库仍会将旧商品发送给买家。