Tol*_*ola 10 backup amazon-s3 cdn
我是一名计划使用 Amazon Cloudfront S3 的网站所有者。我一直在阅读有关 CDN 可以做什么的所有内容,但我仍然有一个悬而未决的问题。
即使我的主服务器关闭,CDN 是否仍然有效。这是我对它感兴趣的主要原因。因为,我的服务器在马里经常因为停电而经常中断。
Chr*_*s S 12
这取决于谁在托管您的 CDN。如果您在一台服务器上托管您的网站,而 CDN 与第三方托管,那么当您的网站关闭时,您的 CDN 可能会保持活动状态。然而,情况可能并非如此,因为某些 CDN 仅分发他们可以验证在您网站上的内容。
附带说明,CDN 不用于托管您的整个网站。因此,如果您认为可以使用一个来替换您的网络托管或将其用作某种故障转移计划,那么您就大错特错了。
TL;DR - 您必须询问您的 CDN 提供商。
pla*_*rms 10
CDN 是为可扩展性和性能而设计的,而不是为高可用性而设计的。在任何给定时间,他们可能需要访问原始文件。
大多数人使用它们来存储静态文件,例如图像、css 和 javascript 文件。有些可以配置为缓存 HTML,但前提是您有一个完全静态的网站。如果是这种情况,您可以在 S3 上托管整个内容,而根本不需要服务器。
小智 5
通常,是的,直到 TTL。
使用 CDN 时,您通常会为您的内容配置 TTL(生存时间)。这是缓存在决定绝对必须用最新内容刷新缓存之前可以获得多长时间的最大值。例如,假设您将所有 *.jpg URL 配置为具有 5 分钟的 TTL。
然后,如果您的服务器出现故障,您有额外的 5 分钟时间在用户注意到之前将其恢复。好吧,至少对于 .jpgs。好吧,至少对于碰巧预先缓存的 .jpg 文件。
此外,一些 CDN 使用 Akamai NetStorage 之类的功能,您可以在其中将内容直接上传到 CDN——CDN 获得了一些内容,并被告知直接先验地提供服务。由于从来没有“按需”“拉”式缓存在这里开始,当您的服务器关闭时,这当然应该工作。
正如其他海报指出的那样,这不是 CDN 的设计目的,它们不保证这种行为会起作用。它只是碰巧通常有效(当你看到它发生时它很棒!)。当然,对于特定的技术细节,您必须联系您的提供商。
是的:即使您的站点关闭,CDN 服务器仍将运行,这是处理重大中断的不错选择。您对发生的事情有相当大的控制权,因此您可以根据自己的资源和优先级定制体验。这些选项通常分为以下几类:
已配置为缓存的对象(最常见的是通过设置Cache-Control标头)在过期之前应该可用。某些 CDN 为 CDN 边缘服务器提供了从其他 CDN 服务器检索内容的能力,这有助于在中断期间提供帮助,并且在源服务器相对于 CDN 服务器的延迟相对较高时通常可以提高性能。
某些 CDN 提供在后端服务器不可用时提供已过期内容的能力(例如,使用 Fastly,您可以启用 Varnish 的优雅或圣人模式)。显然,这对从未缓存的内容无济于事,但在许多情况下,它至少可以让您的核心主页、联系信息等保持在线,同时让您的服务器恢复在线状态。
大多数 CDN 都提供尝试多个后端服务器的能力,因此您可以拥有一个单独的故障转移站点,为您的站点提供有意义的体验:故障转移到另一台服务器或功能减少的站点、静态 HTML 页面等。这对于灾难性事件非常有用托管失败,因为您可以选择与完全不同的公司托管,或者在 Akamai NetStorage 之类的情况下,直接与 CDN 提供商托管,以便他们支持完整堆栈。
除了第三个选项之外,您无法控制将缓存在 CDN 服务器上的内容,因此该过程中最重要的部分是决定您的站点在各种功能不可用时如何降级:例如,如果您有合理的 HTML 内容,即使 JavaScript 完全失败,一个主要由信息驱动的网站也可能仅使用基本页面内容运行,即使更高级的功能在后台悄悄失败。