常见BFF(Backend For Frontend)层主要为前端服务,主要是用来修饰前端接口而如果进一步思考,既然有了这个中间层,可以利用它做更多的事情:
-
充当适配器,统一API的风格,返回最适合前端用于展示的数据格式
- 修改接口格式
- 聚合接口:比如有一个页面可以根据卡号/客户号/证件号/账户...查询其他身份信息,在根据其他身份信息查询具体信息,可以在中间层处理,只对外暴露同一个接口
- 数据脱敏
-
充当网关层,后端由微服务构成,服务与服务之前隔离,而前端的请求可能需要同时访问多个服务,通过BFF层转发请求,而前端只需要与BFF层通信
- 数据缓存
- 安全控制:认证,ip白名单,流量控制
- 针对不同微服务的后台,根据路由键转发请求
- 针对分片过的后台,根据路由键转发请求
- 不光处理前端请求,还处理外部调用请求,并针对不同报文统一格式