在微服务结构中,数据分散在不同的服务里,每种客户端需要的数据不同,且有的客户端和服务在同一个防火墙内,网络性能高,有的在外网,网络性能低。这些问题导致统一的后端接口难以满足使用需求。
1.对外API设计时可能的问题
可能有四种使用服务端API的客户端:
- web应用,比如给客户使用的基于浏览器的页面,给商家使用的页面,以及给管理员使用的页面
- 运行在浏览器的JS应用
- 移动端应用,给用户和配送员使用
- 第三方开发者写的应用
2.API Gateway模式
API gateway:
API网关是一种应用,它是外部客户端进入微服务应用的入口。
AP网关通常负责请求路由、API组合以及像认证这样的功能。
2.1.概述
API网关和设计模式中的外观模式类似。API网关把应用的内部架构封装起来,向客户端提供一个API,并同时提供认证、监控、限速等功能。客户端、网关和服务之间的关系如下图:
API网关同时负责请求路由、API组合以及协议转换。所有外部客户端的请求都先到达