1.6 KiB
1.6 KiB
遇到的问题
尝试将app-product 模块进行集群部署上线的时候,我们会编写dockerfile对项目进行docker build打包
dockerfile 其中命令:
RUN npx vite build --base=/app-product/
正常流程是:
vite build 会使用项目中的 vite.config.ts,进行前端项目的构建产生 dist 文件夹,基于nginx提供给用户访问!!
但这时候,我们在 vite.config.ts 使用自己开发的插件 vite-plugin-nacos 将前端注册到服务中心
因为和服务中心链接后,插件会一直保持心跳导致无法断开,此时 vite build 已经 产生 dist了,但是因为心跳阻塞了docker build 的后续执行,导致项目无法打包成镜像,也就无法开展后续流程进行集群部署。
新的改变!!
所有微前端都不需要进行服务注册,因为前端由浏览器访问,注册实例毫无意义,无法保持心跳,就无法检查服务的健康!
新的架构
局域网 所有模块之间,通过 配置发现 来获取 所依赖 远程模块 的 实际网址
外网 模块通过 网关 反向代理来访问 所依赖 远程模块
新的架构带来的新的问题
局域网模块 之间通过 配置发现,也会和服务注册一样,和Nacos集群保持链接,导致 vite build 无法退出。。。。