我正在使用azure blob存储将图像存储在公共容器中并将其嵌入公共网站。一切正常,在我上传它们的瞬间,xxxxx.blob.core.windows.net
上可以公开获得blob。我想将Azure CDN用于其边缘缓存基础架构,并在xxxxx.vo.msecnd.net
设置一个。
但现在,当我将我的图像指向CDN时,它会在大约15分钟左右返回404,然后开始提供服务。它在他们的文档中提到我们不应该将CDN用于高违规或频繁更改的blob,但是对于公共站点具有图像上传功能的简单CMS保证CDN不是吗?
答案 0 :(得分:13)
目前,上传到我的电子商务网站的产品图片处于完全相同的状态。出于各种显而易见的原因,我更喜欢在Azure blob存储上使用Azure CDN,但不能等待15分钟才能使图像可用。
现在我已经决定最初存储blob存储URL,但后来通过每天运行一次的Azure WebJob重写它以使用CDN域。这似乎是一项不必要的额外工作,但我还没有找到更好的选择,并且真的想要使用Azure CDN。
答案 1 :(得分:0)
我正在做什么...对于我在部署之前手动上传的网站相关图像和文件(https://abc.blob.core.windows.net/cdn)和如果网站用户使用我的网站上传图像或文件,我在内部上传该文件blob存储(单独的容器而不是CDN)使用 CloudBlobClient
答案 2 :(得分:-1)
CDN使用户能够从地理上最接近用户的CDN-POP获取内容,从而允许较低的读取延迟。 如果没有CDN,每个请求都会到达原始服务器(在您的情况下是Azure存储)。当存在高速缓存命中时,CDN提供的低延迟。在缓存未命中时,CDN-POP将从源服务器获取内容,从而减少CDN提供的延迟优势。缓存命中通常取决于内容是静态的(导致缓存命中)还是动态的(导致缓存未命中)及其受欢迎程度(热对象导致缓存命中)。
您选择使用CDN取决于a)您的文件是静态的还是动态的,如果是动态的,那么使用CDN的好处是较低的b)低延迟对您的应用程序是否重要以及c)请求率:由于请求数量较少,您的文件可能会被高速缓存,因此CDN可能没那么有用; d)您是否具有高可伸缩性要求。请注意,Azure存储具有以下scalability limits。如果您的应用程序超出了azure存储的可扩展性限制,那么建议使用CDN
答案 3 :(得分:-1)
CDN用于静态内容传送,但在您的情况下,您需要通过CDN进行动态内容传送。您可以使用Cloud Service + CDN。这使得使用ASP.net缓存概念从CDN传递动态内容。
请参阅此链接了解详情:Using the Windows Azure Content Delivery Network (CDN)