什么是BBF?它有什么用处?
预计阅读时间: 3 分钟
出现情况:
比如后端服务绝大部分都是微服务
,可能会有很多个服务,如果前端要调用后端的服务,那么就需要知道后端服务的地址。
如果你不加处理的话,会出现以下问题:
- 前后端耦合度高,前端需要知道后端服务的地址,如果后端服务地址发生变化,那么前端也需要跟着变化。
- 前端需要知道后端服务的地址,这样会导致前端代码中充斥着后端服务的地址,不利于维护。
- 前端如果需要聚合多个后端服务的数据,那么就需要调用多个后端服务,比如
C-S1
同时需要使用S1的数据去请求S2
的数据,最终返回给前端。
什么是BBF?
BBF
是Backends For Frontends
的缩写,它是一种设计模式,它的目的是为了解决前端调用后端服务的问题。
BBF的优势:
- 前后端解耦:前端不需要知道后端服务的地址,只需要调用BBF即可。
- 聚合数据:BBF可以聚合多个后端服务的数据,最终返回给前端。
- 专门为前端设计:BBF是专门为前端设计的后端服务,它会根据前端的需求,返回给前端需要的数据。
- 安全性:
- 内网环境,通过
RPC
调用后端服务,不会暴露后端服务的真实地址。
- 对后端服务的数据进行处理,比如对数据进行
过滤
、排序
、脱敏
等操作
- 对数据进行
权限控制
。
- 性能:BBF可以对后端服务的数据进行
缓存
,提高性能。
- 白名单,黑名单:BBF可以对前端请求的数据进行
白名单
、黑名单
的过滤。