我是Azure CDN的新手。基本上,我正在尝试使用CDN为我的PHP网站图像,JavaScript文件和CSS文件。
我创建了一个Azure blob存储,然后我添加了一个容器并开始向该容器添加文件。我注意到每个文件都可以通过这样的URL访问https://*******.blob.core.windows.net/content/Test1.jpg
而已!。我猜这就是我想要的。但是,现在的问题是; CDN来玩的地方?我看到我们可以创建一个CDN,然后将端点添加到该CDN,这将进一步指向我之前创建的Blob存储。但是,问题是,为什么我需要创建该CDN及其终点,而我已经能够通过Azure存储提供的URL访问我的文件?
像Azure blob存储这样的CDN和云存储是两回事。 CDN可以定义为:
内容传递网络或内容分发网络是代理服务器及其数据中心的地理分布式网络。目标是通过相对于最终用户在空间上分发服务来提供高可用性和高性能。
云存储服务通过云提供高度可用且安全的存储空间。 Azure blob存储为您提供存储功能,但不提供更好地向用户提供内容的方法。
使用Azure CDN,您可以使用最近的存在点(POP)服务器来缓存从Azure Blob存储,Web应用程序或任何可公开访问的Web服务器加载的静态对象。 Azure CDN还可以通过利用各种网络和路由优化来加速无法缓存的动态内容。
每当请求到来时,Azure CDN将确定最近的呈现点服务器,并将从那里提供内容而不是实际服务器。
这将导致
为什么我需要创建该CDN及其终点,而我已经能够通过Azure存储提供的URL访问我的文件?
CDN特别有用
因此,尽管部署CDN是一种很好的做法,但您也可以使用blob存储。但是,在满足来自远方位置的请求时,您可能会遇到更高的延迟,并且当您的站点流量从不同位置显着或者负载突然出现峰值时,可能会遇到与带宽相关的性能问题和问题。有CDN来救你,否则对于一个普通网站来说,附近有低到中等流量,如果你不使用CDN就很正常,因为使用CDN会产生额外的费用。
你可以直接从url访问blob文件(https://*******.blob.core.windows.net/content/Test1.jpg),因为你已经将存储访问级别设置为public,通常是不是个好主意。
请考虑将存储访问级别设置为private,然后使用SAS(共享访问签名)访问存储帐户中的资产。检查此链接:https://docs.microsoft.com/en-us/azure/storage/common/storage-dotnet-shared-access-signature-part-1
对于CDN,您的blob文件保存在一个特定位置,这意味着来自不同位置的用户在访问您的站点时可能会出现高延迟问题。
因此,您可能希望在存储帐户的CDN配置文件中添加端点。然后将原始blob url替换为资源引用的CDN链接。
要使用带有SAS的CDN,请检查此document。