路由过滤器允许以某种方式修改传入的 HTTP 请求或传出的 HTTP 响应。路由过滤器的范围是特定的路由。Spring Cloud Gateway 包含许多内置的 GatewayFilter 工厂。
内置Filter
- GateWay内置的Filter生命周期为两种:pre(业务逻辑之前)、post(业务逻辑之后)
路由过滤器允许以某种方式修改传入的 HTTP 请求或传出的 HTTP 响应。路由过滤器的范围是特定的路由。Spring Cloud Gateway 包含许多内置的 GatewayFilter 工厂。
首先我们看一下我们之前的网关服务9999的yml配置,这里的配置信息,其实有一些,咱们目前是不清楚的,比如:
1 | server: |
其实这种配置方式就是通过代码的方式进行配置,也就是通过@Bean注入一个RouteLocator
那我们直接来操作一下
首先我们在新建一个GateWayConfig,其实这里的配置对应的就是我们之前在YML中配置的对应内容
1 | package com.mashibing.com.cloudalibabagateway9999.config; |
Spring Cloud Gateway 断言 Predicate
每一个Predicate的使用,可以理解为:当满足条件后才会进行转发,如果是多个,那就是满足所有条件才会转发
在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。这样的话会产生很多问题,例如:
为解决上面的问题所以引入了网关的概念:所谓的API网关,就是指系统的统一入口,提供内部服务的路由中转,为客户端提供统一服务,一些与业务本身功能无关的公共逻辑可以在这里实现,诸如认证、鉴权、监控、路由转发等。