Azure Web应用程序: CDN + application service vs Blob storage

标签 azure azure-web-app-service azure-storage azure-blob-storage azure-cdn

如果在 Azure 中使用与网站/Web 应用程序(即 Azure 应用程序服务)相关的 CDN,那么使用 Blob 存储与仅使用 Web 应用程序作为端点相比有何优点/缺点?

例如,一个简单的CMS网站将所有上传的图像存储在/uploads/myimage.jpg

使用 CDN,我可以将其端点设置为 mywebsite.com/uploads/,或者我可以创建一个 Blob 容器,设置 CMS 以在此处存储图像,并将其设置为 CDN 的来源。

我选择其中之一的考虑因素是什么?

最佳答案

正如 Rob 在回答中所说,就性能而言,没有太大区别。总的来说,我认为 Web 应用程序支持的 CDN 和 Blob 支持的 CDN 之间的核心差异如下:

  • 对于对象的首次命中(或缓存过期后的命中),Web 应用程序支持的 CDN 最初将通过您的 Web 应用程序进行流量路由。如果它是一个非常大的资源(例如视频文件),您可能会注意到由于带宽消耗异常高而导致间歇性性能下降(直到该对象缓存在 CDN 中)。 Blob 存储没有相同类型的带宽限制。
  • 对于 Web 应用程序支持的 CDN,您必须记住,您的存储空间受到您选择的 Web 应用程序层的限制。例如,如果您拥有 10 GB 的 Assets ,这可能会迫使您进入更高的级别。借助 Blob 存储,您将拥有 500TB 的总持久存储空间,其中对象大小高达 4.77TB。
  • Web Web 应用程序支持的 CDN,驻留在 Web 应用程序中的存储是持久的,就像 Blob 存储一样,直到您删除 Web 应用程序为止。然后那个存储就消失了。使用 Blob 存储,即使删除 Web 应用程序(或整个应用程序服务),您的存储空间也会保留。当然,如果删除存储帐户,您的对象就会消失...
  • 如果您拥有多个网络应用程序(或在其他地方托管的其他应用程序)所需的 Assets ,您将开始拥有来自一个应用程序的链接,指向另一个应用程序的 Assets ,从而引入依赖关系(例如网络应用程序 A,带有指向 Web 应用程序中内容的 css 链接 B)。你需要仔细管理它。或者将常见资源存储在 blob 存储中并避免应用到应用的链接依赖性。
  • Blob 存储让您可以选择将静态 Assets 放置在与网络应用程序不同的区域。通过网络应用程序存储,它们将始终位于同一位置。 (我并不是主张跨区域分离内容;只是指出这样做的灵 active )。
  • Blob 存储的内容管理可以通过多种方式完成:直接 REST API 调用、基于 SDK 的调用以及许多第一方和第三方工具。对于Web App内容,没有这样的API和工具;您要么必须随代码一起部署 Assets ,要么在启动时从其他源(例如 blob 存储)复制内容(或手动、通过脚本或您选择的其他方式)。

关于Azure Web应用程序: CDN + application service vs Blob storage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47798829/

相关文章:

java - Azure Web应用程序写入和读取文件

asp.net - 尝试将生成的热图保存在 Azure 存储中

sql - 计数不从包中加载架构模型。 (微软.SqlServer.Dac)

azure - 如何通过rest api触发azure管道

每月第三个工作日的 Azure 函数 Cron 表达式

Azure 媒体流定位器到期

node.js - 在Azure中部署Angular4通用应用程序无效的启动命令

azure - Azure 应用服务上部署的网站的文件管理器中缺少大量文件

azure - 存储和事件网格之间的弹性

Azure WebApp 存储文件