持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第11天,点击查看活动详情
微前端平台承载的东西多了,就需要考虑一下是否需要一个管控层把微前端平台都托管起来。
那么怎么做托管?经常由于一些业务和环境的原因,导致我们的灰度、回滚、监控这些传统的业务内容无法受到保障,这个就需要我们做一个统一的托管层,把这些东西都给托管起来,能适应各种业务场景,去给应用提供统一的托管。
通常我们部署,有俩最终的渠道,即cdn或者服务器。cdn的话想对来说,比较简单,直接发到oss上即可,淡水cdn有个问题,就是灰度啥的不好搞;发到服务器上,就依赖于服务器的部署,虽然灵活但是很多能力都需要服务器的开发。前者是前后端分离。但是实际上还有另外一种方式,就是部署的服务器是一个专门的网关层,不负责业务逻辑,专门做前端资源的渲染。
这种方式具体是什么样子的呢:
- 请求网关渲染服务
- 认证
- 获取应用的html
- 内容拼接及处理,这里可以做一些灰度判断之类的逻辑
- 响应给浏览器
- 其它静态资源通过html加载,可以去cdn上加载即可
这样做一层比较薄的一层,可以解决很多的问题。
对于微前端这种新的业务场景,它也有一些痛点:
- 应用间关系其实不好管理,应用间解耦,但是关系通过代码描述
- 环境问题
- 开发联调不方便
- 依赖关系容易混乱
- 监控的配置及信息收集
- 投放及安全生产
- 业务开发与主应用管理的区别
我们可以做以下的事情:
- 进行层级的划分
- 项目的实体,项目的形式,项目的内涵,这些事情要搞清楚