API网关意义
API网关旨在用一套单一且统一的API入口点,来组合一个或多个内部API。
API网关定位为应用系统服务接口的网关,区别于网络技术的网关,但是原理是一样的。API网关统一服务入口,可方便实现对平台众多服务接口进行管控,如对访问服务的身份认证、防报文重放与防数据篡改、功能调用的业务鉴权,以及响应数据的脱敏、流量与并发控制,甚至基于API调用的计量或计费等。
API并不能适用于所有场景
在基于微服务的架构设计中,往往包含多个服务,这些服务并不能适用于所有场景。例如,在一个面向PC的Web应用中,服务所要提供的API是要返回一个页面,而非单纯的数据,那么这样的API只能适用于Web应用,而不能适用于移动APP。
又如,在移动APP的架构设计中,由于网络带宽的限制,在设计API时,往往会考虑较少的网络传输次数及更少的传输数据。而面向PC的Web应用却无须考虑这些限制。
图10-1展示了不同场景下的API网关使用情况。

API网关常用于以下场景。
- 黑白名单:实现通过IP地址控制禁止访问网关功能。
- 日志:实现访问日志的记录,可用于分析访问、处理性能指标,同时将分析结果支持其他模块功能应用。
- 协议适配:实现通信协议校验、适配转换的功能。
- 身份认证:负责网关访问身份认证验证。
- 计流限流:实现微服务访问流量计算,基于流量计算分析进行限流,可以定义多种限流规则。
- 路由:是API网关很核心的模块功能,此模块实现根据请求锁定目标微服务,并将请求进行转发。
API网关所带来的好处
API网关能够为外部消费方提供一套统一的入口点,

API网关作为微服务架构的重要组成部分,提供了统一的入口,增强了安全性,支持了协议转换和流量控制。常见的API网关实现包括NGINX、Spring Cloud Zuul和Kong,它们各自具有不同的优势和特性,如NGINX的高性能,Zuul的动态路由,以及Kong的插件扩展性。API网关有助于简化微服务管理,但也可能引入额外的复杂性和潜在的单点故障问题。
最低0.47元/天 解锁文章
1001

被折叠的 条评论
为什么被折叠?



