我在 AWS 中使用 Web 应用程序设置,其中我的后端托管在 Elastic Beanstalk 上,我的前端存储在 S3 存储桶中。两者均通过 CloudFront 作为 CDN 提供服务。我一直在遵循特定的部署流程,但我对 CloudFront 更改和缓存失效的时间有疑问。
这是我的部署过程:
我关心的是CloudFront源的更改和缓存失效之间的时间段。具体来说,我不确定以下几点:
在使缓存失效之前,存在不一致的风险。 我的意思是,一个客户端可能会从缓存中获取某个资源的版本 n,从新源获取另一个资源的版本 n+1,以及后端 API 的版本 n+1。这可能会导致意外的行为或渲染。
我邀请您查看CloudFront 持续部署功能。 基本上你有 2 个发行版,一个是主发行版,一个是临时发行版。 登台可以与您的第二个 S3 源和第二个后端 API 关联。 您可以使暂存发行版的缓存无效,然后继续部署。