【发布时间】:2019-06-11 14:11:41
【问题描述】:
我在我们的基础设施中有一个蓝绿色的部署设置(快速信息 - 一个新的服务器/容器以新的构建启动;流量以滚动方式转移到这些新服务器;从旧集下降 1 个,从新集上升 1 个一)。 问题是,在某一时刻,可能会出现两种(旧/新)部署都提供流量的情况。一个部署的 JS 可能在另一个部署上不可用。
在控制台的请求选项卡中,我可以看到对块的请求是domain.com/_nuxt/<component>/<part><hash>.js 的形式。在nuxt的build文件夹中,组件以<component>_<part><hash>.js的形式存在。
将生成的 js 文件同步到 s3 并通过静态托管(例如 AWS-S3)提供它们是否安全,并在 Nginx 上创建代理服务器用于重新路由部分。我找不到任何现有的解决方案。
大多数解决方案都描述了如何以零停机时间进行部署,并建议通过软链接更改目录以处理零停机时间的方法。它并不能解决用户可能已经在网站上,并且不一定已经浏览过 webapp 的所有页面(因此所有 js 文件都已加载)的情况。
【问题讨论】:
-
您也可以为最后 1-2 次部署存储旧块。在 nuxt 2.4 中,丢失块的默认行为是自动重新加载页面
-
通过上述路由服务
_nuxt/*是否安全? -
我不太明白。
/ .js - 这不应该发生 -
检查此站点,例如 gamevix.com(网络选项卡请求 -
_nuxt/pages/news.d4619c07d2bed3d1170e.js)。同名的必须有一个文件在构建文件夹pages_news.d4619c07d2bed3d1170e.js -
它肯定不是默认行为。你在你的配置中有一些定制的东西。或者你有一些旧版本的 nuxt..
标签: vue.js nuxt.js server-side-rendering