Azure 内容交付网络 (CDN) 将静态 Web 内容缓存在按特定策略布置好的位置,以便提供最大的吞吐量,方便将内容安全地交付给用户。 CDN 为开发人员提供了一个全局解决方案,通过在世界各地的物理节点缓存内容来快速交付高带宽内容。

CDN的应用场景:

  • 下载加速

  • 网站加速

  • 视频加速

  • 动态内容加速

CDN是一种被动的内容分发网络,不存储数据,只有被访问数据非常频繁时才会从源把数据缓存到离客户最近的CDN节点,也就是终结点。架构如下:

clip_image001

使用 CDN 缓存 Azure 数据的优点包括:

  • 为最终用户提供更好的性能和改进的用户体验,尤其是在使用的应用程序需要多次往返来加载内容时。

  • 大幅度缩放以更好地处理瞬间的高负载,例如在产品发布活动开始时。

  • 通过分发用户请求并直接通过边缘服务器来提供内容,可以减少发送到源服务器的流量。

  • 访问量增加时对源主机系统影响较小

  • 源站IP隐藏,安全性提升

首先我在Azure上创建一个Web01的虚拟机,并配置了IIS,部署了一个简单的HTML的网站,并对该虚拟机设置了Azure的DNS名称

clip_image002

在配置了网路安全组的80端口后,在互联网上就可以正常访问该网站了(非常简陋的网站,有一个视频,主要演示CDN而准备的)

clip_image003

当然我也有一个自己的域名,我用CNAME做了一个地址是testvm.basehome.com.cn来指向我的这台WEB虚拟机的AzureDNS地址web01.eastasia.cloudapp.azure.com

clip_image004

这样我也可以以testvm.basehome.com.cn来访问我的简陋网站

clip_image005

接下来我就开始部署CDN来为我的这个简陋网站提供内容分发,让全球的用户可以访问离自己最近的CDN节点来访问我的这个简陋网站吧。

首先创建CDN配置文件

clip_image006

设置CND配置文件名称以及资源组,定价层我选择标准(仅就来自 Microsoft 的 Azure CDN 标准版配置文件而言,配置文件通常可在两个小时内完成)

clip_image007

创建完成后就可以添加终结点了

clip_image008

设置终结点的名称以及原点类型和原点主机名等信息:

  • 名称是该终结点的全局唯一名称不可重复,此名称用于提供访问缓存的资源名称。

  • 原点类型是指拉取源的地址,这里我是加速我的简陋网站,使用我选择自定义原点(当然还有其他类型:存储,云服务,Web 应用)

  • 原点的主机名是我的Azure虚拟机web01的CNAME:testvm.basehome.com.cn

终结点不会立即可供使用,因为注册传播需花时间:

  • 对于 Microsoft 推出的 Azure CDN 标准版配置文件,传播通常可在 10 分钟内完成。

  • 对于 Akamai 的 Azure CDN 标准版配置文件,传播通常可在一分钟内完成。

  • 对于 Verizon 的 Azure CDN 标准版和 Verizon 的 Azure CDN 高级版配置文件,传播通常可在 90 分钟内完成。

clip_image009

创建完成以后,我想把我的简陋网站要使用CDN加速服务,对于使用自定义域名的,一般是创建别名记录(CNAME),将别名指向CDN终结点。

例如:我自己的域名basehome.com.cn,那么我想把我的简陋网站做成test.basehome.com.cn,并使用CDN加速,那么我先在域名管理控制台添加一条CNAME记录test指向我上面创建的终结点名称asia-endpoint.azureedge.net

clip_image010

点击创建好的终结点asia-endpoint.azureedge.net

clip_image011

点击自定义域,添加test.basehome.com.cn的CNAME和asia-endpoint.azureedge.net终结点关联,这里会自动验证我的test.basehome.com.cn是否是CNAME,验证通过后会是个√,然后点击添加

clip_image012

等待创建完成

clip_image013

等待了一会后,我的test.basehome.com.cn也可以访问了

clip_image014

当然可以看到这个域名的解析

clip_image015

除此之外,还可以在Azure门户里查看更为详细的CDN加速信息

clip_image016

会打开一个新的站点,看到CDN的使用分析情况

  • 带宽——以 Mbps (兆位/秒) 为单位的数据传输速率。

  • 数据传输量——服务器至客户端的字节数量。已传输的数据包括来自 HTTP 响应标头以及响应体的字节数。因此,给定文件的已传输数据量都将大于文件的实际大小。

  • 持续时间——下载或流传输所耗费的时间。

  • 命中——识别发往 CDN 的资源请求。

  • 引用来源——链接到您内容的网页或资源的 URL。此信息是通过 HTTP 标头传递的。破折号 ("-") 引用来源表示内容是直接命中的,引用来源被用户代理剥离,或是引用来源没有通过 HTTP 标头传递。

比如从带宽看分析

clip_image017

从数据传输看分析

clip_image018

从HTTP Large查看分析

clip_image019

从缓存状态看HTTP Large分析

clip_image020

从缓存命中率查看分析

clip_image021

CDN我就介绍到这了。