网关的作用:
- 可以对访问的用户进行身份认证和权限校验
- 还可以服务路由,负载均衡
- 还可以进行请求限流
网关本身也是微服务的一部分,所以需要使用nacos进行服务注册和发现
网关路由的配置
- 路由id:路由唯一标识
- uri:路由目的地,支持lb和http两种
- predicate:路由断言,判断请求是否符合要求,符合则转发发哦路由目的地
- filters:路由过滤器,处理请求或响应
网关过滤器GatewayFilter
是网关中提供的一种过滤器,可以对进入网关的请求和微服务返回的响应做处理
这期间可以对请求头,请求参数做一些处理,返回的响应结果也可以被网关过滤器进行处理
默认过滤器GatewayFilter
写在defaultFilter下的过滤器会对所有的路由请求都生效
全局过滤器GlobalFilter
全局过滤器的作用也是处理一切进入网关的请求和微服务相应的,与GatewayFilter的作用一样。区别在于GatewayFilter通过配置实现,处理逻辑是固定的,而GlobalFilter的逻辑是靠自己代码实现的
实现的方式是实现GlobalFilter接口
过滤器执行顺序