1、什么是API网关
通常来讲,网关的作用是过滤客户端请求,统一转发至多个服务的。还可以用来系统鉴权和接口日志的记录。API网关统一管理后,从研发人员的角度上,也可以避免大量重复的编码工作。相同的功能只需要在网关中实现一次即可。
2、网关有那些功能
(1)、提供统一的接入地址
API网关对外提供统一的接入地址,API网关将用户的请求动态的路由到具体的服务上,并且完成必要的协议转换工作
(2)、提供服务治理的策略
可以将服务治理的策略植入API网关之中。例如:可以在API网关中实现服务的熔断、降级、限流和分流等策略
(3)、统一鉴权
通常我们的系统中都有认证和授权功能。不同系统的客户端认证的方式也有所不同。有些使用OAth认证,有些视同cookie认证。还有些使用token认证。对于不同的认证场景,可以在API网关中统一认证。其他服务不需要具体的认证细节了。
(4)、黑白名单处理
随着产品的发展,用户的基数越来越多。竞争产品很有可能会恶意的攻击服务的API。API可以根据黑名单功能,进行相关的屏蔽处理。例如:针对设备ID,用户IP地址、用户ID等不同纬度进行黑白名单处理。
(5)、日志处理
在API网关中,还可以将记录的日志进行统一的处理。例如:记录用户请求访问的日志、生成用户的链路日志等。