微服务API服务网关
简介:
API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客户端提供一个定制的API。它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。
API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。通常,网关也是提供REST/HTTP的访问API。服务端通过API-GW注册和管理服务。
图示:
ngin.com API Gateway picture
微服务网关
注: 上图中API GateWay网关之前有负载均衡器,是为了让网关无状态,可以部署很多,不是单点网关
为什么需要API网关:
- 屏蔽内部细节
屏蔽内部实现细节,提供统一接口,服务对外透明
- 反向路由
API网关是内部微服务的对外唯一入口,外面的全部请求都会先发送到这个API网关上,然后由API网关根据不同的请求路由到不同的微服务结点上
- 安全认证
每一个请求进来之后,需要进行身份验证,安全检查,例如参数的安全性、传输的安全性、反网络爬虫等等
- 限流熔断(负载均衡)
API网关在收到外部请求之后,还可以根据内部微服务每个实例的负荷情况进行动态的负载均衡调节
- 日志监控
所有的请求都要走API网关,那么我们可在API网关统一集中的记录这一些行为日志,可以作为后续事件查询使用,也可以作为系统的性能监控使用