介绍
BFF(Backend for Frontend)和网关Gateway是微服务架构中的两个重要概念,这两个概念相对比较新,有些开发人员甚至是架构师都不甚理解。
本文用假想的公司案例+图示的方式,解释BFF和网关是什么,它们是怎么演化出来的。希望对架构师设计和落地微服务架构有所启发。
服务化架构V1
我们先把时间推回到大致2011年左右。假设有一家有一定业务体量的电商公司CoolShop,在这个时间点它已经完成单块应用的解构拆分,内部SOA服务化已经初步完成。这个时候它的无线应用还没有起步,前端用户体验层主要是传统的服务端Web应用,总体服务化架构V1如下图所示。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YICXu8Hj-1581484988574)(http://jskillcloud.com/img/post/2018060702/soa_v1.png#pic_center)]](/https://i-blog.csdnimg.cn/blog_migrate/2502bc05761a3cb2405534cd43393bfa.png)
服务化架构V2
时间转眼来到2012年初,国内的无线应用开始起风,CoolShop公司也紧跟市场趋势,研发自己的无线原生App。为了能尽快上线,公司的架构师提出如下V2架构,让App直接调用内部的服务:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G2iqg1ci-1581484988576)(http://jskillcloud.com/img/post/2018060702/soa_v2.png#pic_center)]](/https://i-blog.csdnimg.cn/blog_migrate/4f01271f8f739b7475c69c9c90127f98.png)
这个架构有如下问题:
- 无线App

本文通过一个假想的电商公司案例,详细介绍了BFF(Backend for Frontend)和微服务网关在服务化架构中的演进过程,从最初的无线应用直接调用内部服务,到引入BFF解决耦合问题,再到引入API Gateway进行解耦和处理跨横切面逻辑,最后形成现代微服务架构的分层模式。这种架构能够灵活应对业务需求变化,支持创新和演化。

2492

被折叠的 条评论
为什么被折叠?



