Gateway网关简单介绍
简介
API网关服务,为微服务提供简单有效的统一的API路由管理方式
前端通过Nginx转发请求到后端
后端通过Gateway转发对应的微服务模块
功能
-
反向代理
-
鉴权
-
流量控制
-
熔断
-
日志监控
是加在整个微服务最前沿的防火墙和代理器,隐藏微服务节点ip端口信息
原理
核心是过滤器,将客户端发送的请求转发(路由)到对应的微服务模块
本身也是一个微服务,需要注册进微服务注册中心
三大核心概念
-
路由(Router):由ID,目标URL,一系列断言和过滤器组成,断言为true匹配该路由
-
断言(Predicate):对http请求中的内容进行匹配(例如:请求头、请求参数),请求与断言相匹配进行路由
-
过滤器(Filter):在请求被路由前或者之后对请求进行修改
工作流程
客户端发请求,Gateway Handler Mapping找到与请求相匹配的路由,将其发送到Gateway Web Handler,Handler通过指定的过滤器链将请求发送到实际的服务执行业务逻辑
过滤器在发送代理请求之前(pre)或之后(post)执行业务逻辑
“pre”类型的过滤器:参数校验,权限校验,流量监控,日志输出,协议转换
“post”类型的过滤器:相应内容,响应头的修改,日志输出,流量监控