首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >整个网站托管-云端?

整个网站托管-云端?
EN

Stack Overflow用户
提问于 2016-02-03 10:12:59
回答 1查看 168关注 0票数 0

如果我计划创建一个静态网站(使用像Jahia、Wordpress等WCMS ),我可以尝试通过Cloudfront托管整个网站吗?

  • 在WCMS中建立网站并导出整个网站结构
  • 创建一个S3静态网站桶
  • 使用S3_Website (on Git)等工具将导出的网站文件转换为S3
    • 在以后任何时候,当需要同步到导出的网站与S3网站的更新时,再次运行s3_website push。(它将计算差异、更新更改的文件、上载新文件和删除过时的文件。) 。
      • 使用某种轮询过程来运行export和S3_website推送脚本来完成整个过程。也许是Lambda函数。假设一个24小时的缓存TTL,每晚运行这个程序?

  • 通过预置脚本(例如Git上的军事脚本)将内容刷新到Cloudfront缓存中。我有点不清楚它是如何工作的,如果这个匹配的时间间隔(即,内容TTL在我们预暖之前过期,等等),它如何进行刷新和替换或失效?我还需要预热吗?/冲水
  • Cloudfront被设置为使用S3桶作为其源服务器,并将根据缓存头进行缓存。CF将继续提供内容服务,即使过期。

在缓存的内容(失效等)方面,这会起作用吗?

EN

回答 1

Stack Overflow用户

发布于 2016-02-03 10:32:45

不要认为CloudFront主要是“托管”您的站点。CloudFront将您的站点缓存到( a)减少原始web服务器的流量(首先在S3上托管时不太关心)和b)以加快对客户端的交付,因为CloudFront缓存是分布在全球各地的,而不是只有一台集中式服务器。

是的,你可以这样主持一个网站。将实际的“主副本”放在S3上,将CloudFront配置为前端缓存。主副本需要保持在原来的位置;如果您考虑在S3中缓存它之后将其从CloudFront中删除,那将是个坏主意。CloudFront不能保证您的数据是可用的;缓存随时可能过期,整个CloudFront节点可能在任何时候脱机、替换或添加,在所有这些情况下,CloudFront节点都需要一个原始服务器来获取其副本。

剩下的唯一问题就是缓存过期。一如既往,有两种方法:

  1. 为您的内容配置一个合理的缓存超时。如果您将内容设置为在1小时后过期,则任何客户端都可能在更新内容后一小时内看到过时的数据。这可能是一个问题,也可能不是一个问题,你决定。您可以并且应该为不同类型的内容配置不同的过期时间;图像等可能被无限期地缓存,而经常更新的首页的HTML可能会有更短的生存期。
  2. 更新内容后,使用无效请求显式地刷新缓存。这方面的问题是,在CloudFront上只有有限数量的空闲无效请求。这不是AWS喜欢你做的事情,而且大部分都是在不正确的数据被排挤出来时作为紧急情况使用的工具。AWS更喜欢让内容自然过期,因为这给网络带来了最小的压力。

“提前升温”通常并不是必要的,而且无论如何也很难做到,因为您不能将内容推送到CloudFront;CloudFront会根据需要从原点提取内容。我不知道你指的是什么“军事前线”,或者它应该做什么。如果没有气候变暖,在特定地理区域第一次请求特定页面的速度就会稍微慢一些,仅此而已。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35174076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档