Azure 内容交付网络 (CDN) 将静态 Web 内容缓存在按特定策略布置好的位置,以便提供最大的吞吐量,方便将内容安全地交付给用户。 CDN 为开发人员提供了一个全局解决方案,通过在世界各地的物理节点缓存内容来快速交付高带宽内容。
CDN的应用场景:
下载加速
网站加速
视频加速
动态内容加速
CDN是一种被动的内容分发网络,不存储数据,只有被访问数据非常频繁时才会从源把数据缓存到离客户最近的CDN节点,也就是终结点。架构如下:
使用 CDN 缓存 Azure 数据的优点包括:
为最终用户提供更好的性能和改进的用户体验,尤其是在使用的应用程序需要多次往返来加载内容时。
大幅度缩放以更好地处理瞬间的高负载,例如在产品发布活动开始时。
通过分发用户请求并直接通过边缘服务器来提供内容,可以减少发送到源服务器的流量。
访问量增加时对源主机系统影响较小
源站IP隐藏,安全性提升
首先我在Azure上创建一个Web01的虚拟机,并配置了IIS,部署了一个简单的HTML的网站,并对该虚拟机设置了Azure的DNS名称
在配置了网路安全组的80端口后,在互联网上就可以正常访问该网站了(非常简陋的网站,有一个视频,主要演示CDN而准备的)
当然我也有一个自己的域名,我用CNAME做了一个地址是testvm.basehome.com.cn来指向我的这台WEB虚拟机的AzureDNS地址web01.eastasia.cloudapp.azure.com
这样我也可以以testvm.basehome.com.cn来访问我的简陋网站
接下来我就开始部署CDN来为我的这个简陋网站提供内容分发,让全球的用户可以访问离自己最近的CDN节点来访问我的这个简陋网站吧。
首先创建CDN配置文件
设置CND配置文件名称以及资源组,定价层我选择标准(仅就来自 Microsoft 的 Azure CDN 标准版配置文件而言,配置文件通常可在两个小时内完成)
创建完成后就可以添加终结点了
设置终结点的名称以及原点类型和原点主机名等信息:
名称是该终结点的全局唯一名称不可重复,此名称用于提供访问缓存的资源名称。
原点类型是指拉取源的地址,这里我是加速我的简陋网站,使用我选择自定义原点(当然还有其他类型:存储,云服务,Web 应用)
原点的主机名是我的Azure虚拟机web01的CNAME:testvm.basehome.com.cn
终结点不会立即可供使用,因为注册传播需花时间:
对于 Microsoft 推出的 Azure CDN 标准版配置文件,传播通常可在 10 分钟内完成。
对于 Akamai 的 Azure CDN 标准版配置文件,传播通常可在一分钟内完成。
对于 Verizon 的 Azure CDN 标准版和 Verizon 的 Azure CDN 高级版配置文件,传播通常可在 90 分钟内完成。
创建完成以后,我想把我的简陋网站要使用CDN加速服务,对于使用自定义域名的,一般是创建别名记录(CNAME),将别名指向CDN终结点。
例如:我自己的域名basehome.com.cn,那么我想把我的简陋网站做成test.basehome.com.cn,并使用CDN加速,那么我先在域名管理控制台添加一条CNAME记录test指向我上面创建的终结点名称asia-endpoint.azureedge.net
点击创建好的终结点asia-endpoint.azureedge.net
点击自定义域,添加test.basehome.com.cn的CNAME和asia-endpoint.azureedge.net终结点关联,这里会自动验证我的test.basehome.com.cn是否是CNAME,验证通过后会是个√,然后点击添加
等待创建完成
等待了一会后,我的test.basehome.com.cn也可以访问了
当然可以看到这个域名的解析
除此之外,还可以在Azure门户里查看更为详细的CDN加速信息
会打开一个新的站点,看到CDN的使用分析情况
带宽——以 Mbps (兆位/秒) 为单位的数据传输速率。
数据传输量——服务器至客户端的字节数量。已传输的数据包括来自 HTTP 响应标头以及响应体的字节数。因此,给定文件的已传输数据量都将大于文件的实际大小。
持续时间——下载或流传输所耗费的时间。
命中——识别发往 CDN 的资源请求。
引用来源——链接到您内容的网页或资源的 URL。此信息是通过 HTTP 标头传递的。破折号 ("-") 引用来源表示内容是直接命中的,引用来源被用户代理剥离,或是引用来源没有通过 HTTP 标头传递。
比如从带宽看分析
从数据传输看分析
从HTTP Large查看分析
从缓存状态看HTTP Large分析
从缓存命中率查看分析
CDN我就介绍到这了。