【紧跟开发系列】 了解前端微服务架构【知乎摘录】

1、 前端为什么需要微服务?

a) 目前大多数应用中,各模块的功能划分清晰,特别是不同页面间的功能,基本可以分割开,而类似的功能在不同的应用中也经常出现,为此,前端花了很多功夫在重复的模块上

b) 对于快速变化的市场,需要短时间内出demo或产品,而微服务的存在,可以快速组合应用,应对市场需求,类似阿里飞冰的拖拽应用

c) 后端的微服务往往只考虑后端应用的实际情况,很多接口提供的数据并不适合前端进行UI展示,前端需要处理大量的逻辑,以适配界面,久而久之,前端逻辑繁重,代码难于维护

d) 前端需要支撑不同的终端,像移动端、PC端

2、 微服务带来的好处?

a) 轻耦合:使得各功能模块间耦合度降低,并且与后台之间的耦合度降低

b) 高复用:单个微服务可在多个应用中使用,免去了重复开发的工作量

c) 独立性:各个服务可以独立部署、独立使用、独立开发

d) 与技术无关:各服务之间可以使用不同的前端技术进行开发

e) 快速集成:服务可以任意组合,迅速形成新的应用,以满足需求

f) 扩展性:每个服务可以独立扩展,满足业务的伸缩性

3、 前端微服务架构

a) 前端依据业务功能或独立组件,拆分出不同的微应用1、2…,各微应用之间高内聚、低耦合

b) 微应用与后台微服务之间的通信,通过BFF层为中介,BFF把应用所需展示的数据上送,微应用不需要任何的逻辑性处理

c) 微应用组合层根据需求,将所需的微应用进行组合,各微应用之间的数据通信通过Custom Event进行

d) 实现方式

i. Single-spa:https://github.com/CanopyTax/single-spa

ii. 使用路由分发

iii. 使用web component

iv. 将微服务包在iframe中
【紧跟开发系列】 了解前端微服务架构【知乎摘录】_第1张图片

可以了解一下 微服务------乾坤

你可能感兴趣的:(开发流程)