微服务BFF模式
2022-06-06 17:18:40 2 举报
微服务BFF架构图
作者其他创作
大纲/内容
IOT
流程引擎
方案二
调度中心
API网关
微服务
移动端
门户BFF
业务系统BFF
PC端
spring gateway
订单服务
请求通过网关后一般不会直接打到具体微服务上的,而是会通过BFF层,所谓的BFF,即 backend for frontend 面向前端的后端。具体来说它的职能包括:1. api数据裁剪2. 接口编排3. 接口调用这层可以根据业务进行拆分,也可以根据所需支撑的系统进行拆分。如图所示针对一个带门户和后台的业务类系统,可以拆分为门户BFF、业务BFF和后台管理BFF。这样拆分有利于实现CQRS架构模式。有了BFF层,前后端就会更好的解耦,前端不用再调用多个接口,然后再组织数据,微服务后端也只需要关心自己服务边界内的事情,专注于真正的价值。
API网关可以包含以下功能:安全、限流、缓存、熔断、重试、负载、反向路由、认证、鉴权、日志收集和监控等。可以有多种实现方案:1. 较为通用的方案:使用 NGINX 这样的软件做前置,用来处理SLB负载均衡过来的流量,作用是反向代理、集群负载均衡、转发、日志收集等功能。然后再将 NGINX 的请求 proxy 到 API Gateway 做统一网关处理;2. 现代 API Gateway 越来越需要或者流行可编程网关,对于方案1我们完全可以将 NGINX 和 API Gateway 合并起来,他们的功能的重合点自然消除了,也能降低架构的复杂性和运维成本。市面上基于OpenResty 以 API Gateway 为应用场景的应用软件有 Kong、APISIX、tyk 等。
后端管理系统BFF
BFF
防火墙
主数据
文件服务
客服中心
SLB
商品服务
+
请求
规则引擎
方案一
nginx
仓储服务
0 条评论
下一页