Files
DDDMicroFrontend/doc/思路整理.md
2025-10-04 00:08:33 +08:00

1.6 KiB
Raw Permalink Blame History

遇到的问题

尝试将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 无法退出。。。。

如何解决??