网页上的微服务—微前端架构实践

作者:郭凌波
恒生LIGHT云社区

一、什么是微前端?

“微前端”一词最早于2016年底在《ThoughtWorks Technology Radar》中提出,它将微服务的概念扩展到前端世界,目的是构建一个在微服务架构上功能丰富且强大的前端应用。

大型组织的组织结构、软件架构在不断地发生变化。移动优先、App中台、中台战略等,各种口号在不断提出和演进。同时业务也在不断地发展,而现有 Web
应用不能很好的拓展和部署,随着时间的推移,各个项目变得越来越臃肿,web 应用变得越来越难以维护。

微前端将微服务的理念应用于浏览器端,让Web应用由单体应用转变为多个小型前端应用聚合为一的应用。各个前端应用还可以独立运行、开发和部署。

二、实施微前端的六种方式:

1 路由分发式

路由分发式微前端,即通过路由将不同的业务分发到不同独立前端应用上。其通常可以通过反向代理(Nginx/HSIAR)来实现,配合使用应用框架自带的路由管理。

就当前而言,通过路由分发式的微前端架构应该是采用最多、最易采用的 “微前端”方案。但是这种方式看上去更像是多个前端应用的聚合,即我们只是将这些不同的前端应用拼凑到一起,使他们看起来像是一个完整的整体。

系统整体结构如图:

1.png

2 iFrame前端容器化

iFrame 作为一个古老而普通的技术,但却一直很管用。采用