API网关

API网关可以看做系统与外界联通的入口,可以在网关进行处理一些非业务逻辑的逻辑,比如权限验证,监控,缓存,请求路由。

为什么需要API网关

  • RPC协议转成HTTP

    由于系统内部开发使用RPC协议,连接内部服务,外部服务需要使用这个接口时需要将RPC协议转换成HTTP协议。

  • 请求路由

    系统中由于同一个接口新老两套系统都在使用,需要根据请求上下文将请求路由到对应的接口。

  • 统一鉴权

    对于鉴权操作不涉及到业务逻辑,那么可以在网关层进行处理,不用下层到业务逻辑。

  • 统一监控

    由于网关是外部服务的=入口,所以可以在这里监控数据,比如入参、出参、链路时间。

  • 流量控制,熔断降级

    对于流量控制,熔断降级非业务逻辑可以统一放到网关层。


Reference:

  1. 浅析如何设计一个亿级网关