《》
本文介绍的是国外的Azure Global
如果你使用的是国内由世纪互联运维的Azure China,请参考这篇文章:
本节我将介绍如何在Windows Azure平台下使用CDN。
Windows Azure平台提供了Blob Service和Hosted Serive两种CDN服务。我这里简单介绍Blob Service的内容。
请参考《》
和《》的例子,在Windows Azure Blob Storage下上传一张图片。
您也可以使用这个工具,来上传您需要的图片。
我上传到Azure Storage的图片URL是这样的:
其中threestone是我的存储账户(Azure Storage Account)。对此内容不熟悉的网友可以看我之前几章的内容。
上传成功的图片预览如下:
接下来我要做的是,让所有存在Azure Storage账户threestone下的内容,开启CDN。
我们登陆到Windows Azure Management Portal里,选择"托管服务、存储账户和CDN"-->选择"CDN",然后选中threestone这个存储账户,选择"新建终结点"。
在弹出的"新建CDN终结点"里,最下面的勾选框,选择启用CDN、HTTPS、查询字符串(注:截图有点问题,抱歉)。最后点击"确定"。
Windows Azure会提示您,启动CDN可能需要60分钟。不过根据笔者观察 ,只需要差不多20分钟左右。
关闭"启用CDN"窗口之后,你会在Storage下发现CDN终结点已经创建。
CDN的地址是az271846.vo.msecnd.net
其中CDN URL为az271846.vo.msecnd.net。
我原来使用Azure Storage保存图片的URL是
开启CDN之后,地址就变成
这样Blob Service里的所有Blob内容都会被CDN加速。
用户首次访问这个图片的CDN URL的流程如下:
- 当用户打开这个网页的时候,客户端首先向距离用户最近的CDN服务器请求这个资源。
- 如果CDN服务器上海没有这个文件的副本,则通过配置信息从对应的Blob Service中请求这个资源。本例中,向这个地址请求资源。
- Blob Service得到这个Blob资源
- Blob Service会首先把这个图片复制到CDN服务器
- 图片将会通过CDN服务器返回给用户
如果用户再次访问这个页面的时候,由于这时候CDN中已经有这个图片的副本了,所以将会直接从CDN服务器返回而无需访问Blob Service。
随着更多的用户访问,大部分情况下这个图片已经缓存在CDN中了,因此几乎不会再需要向Blob Service请求,这样就提高了网站的执行性能。
注意:只有通过CDN URL进行访问的时候才会使用CDN功能。如果用户直接访问的是Blob Service的URL,那么即使CDN服务器中已经缓存了这个资源,用户还是会直接从Blob Service获取这个资源。
OK,距离我们创建CDN Endpoint差不多20分钟的时间了。让我们看一下CDN URL