BFF——服务于前端的后端
以前我在谈论graphql的时候提到过BFF(Back-end For Front-end),每每都是一笔而过,这次就专门开一期,简介一下BFF——服务于前端的后端。
前端演化史
Web 1.0
故事都得从long long ago说起,让我们先来回顾web 1.0,那时候的网站如下所示:

Web 1.0
第一代Web架构很简单,纯后端网页渲染;就是客户端每次向服务器请求都会返回一个特定的html页面,js都没啥大用场。我学生时代流行的JSP就属于这个范畴。后来上班了,发现厂里的操作更风骚,用的是string拼接html的动态渲染技术,当时极为震惊。
Web 2.0
时间又到了10年前,手机业务开始蓬勃发展;受限于网络传输,由后端反复送html到前端(后端渲染)的技术很难适应新的业务场景。
这时候聪明的小伙子们想到了将数据格式转化成JSON,并通过api调用提供给前端使用——前后端解耦。

Web 2.0
此后的变化是一系列的JS前端框架方兴未艾;得益于技术演进,前后端技术正式分离,Web交互空前丰富。

本文介绍了BFF(Back-end For Front-end)的概念,它是前后端分离趋势下的中间层解决方案。随着前端的演化,从Web 1.0到微服务时代,BFF应运而生,用于处理前端与微服务之间的数据组装、聚合和裁剪。BFF的优点包括前后端彻底分离、适配前端框架,缺点则在于增加系统复杂度和开发成本。文章建议在系统重构时考虑采用BFF,并强调系统设计应遵循演进步调和奥卡姆剃刀原则。

最低0.47元/天 解锁文章
237





