gateway java

作者:原创时间:2022-03-22
文档

gateway java是什么,让我们一起了解一下?

gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式,目标是替代ZUUL。例如:安全,监控/埋点,和限流等。

我们为什么要用gateway?

1、Spring Cloud Gateway 可以看做是一个 Zuul 1.x 的升级版和代替品,比 Zuul 2 更早的使用 Netty 实现异步 IO,从而实现了一个简单、比 Zuul 1.x 更高效的、与 Spring Cloud 紧密配合的 API 网关。

2、Spring Cloud Gateway 里明确的区分了 Router 和 Filter,并且一个很大的特点是内置了非常多的开箱即用功能,并且都可以通过 SpringBoot 配置或者手工编码链式调用来使用。

3、比如内置了 10 种 Router,使得我们可以直接配置一下就可以随心所欲的根据 Header、或者 Path、或者 Host、或者 Query 来做路由。

比如区分了一般的 Filter 和全局 Filter,内置了 20 种 Filter 和 9 种全局 Filter,也都可以直接用。当然自定义 Filter 也非常方便。

那么gateway怎么用?

说白了 Predicate 就是为了实现一组匹配规则,方便让请求过来找到对应的 Route 进行处理,接下来我们接下 Spring Cloud GateWay 内置几种 Predicate 的使用。

通过时间匹配:

比如我们现在设置只有在 2019 年 1 月 1 日转发,我就可以这样配置:

spring:
  cloud:
    gateway:
      routes:
       - id: time_route
        uri: http://ityouknow.com
        predicates:
         - After=2018-01-20T06:06:06+08:00[Asia/Shanghai]

当然除了通过时间匹配,我们还可以通过以下方式:

1、通过 Cookie 匹配

2、通过 Host 匹配

3、通过请求方式匹配

4、通过请求路径匹配

5、通过请求参数匹配

6、通过请求 ip 地址进行匹配

以上就是小编今天的分享了,希望可以帮助到大家。



显示全文
gdal java gdb java geohash java geojson java glue java golang调用java grep java groupby java guava java hbase java hibernate java hotspot java idea创建java idea创建普通java项目 idea怎么建立java idea编写java程序 influxdb java instance java instant java integer java for循环java foreach java field java 爱奇艺黄金会员和星钻会员的区别 false是java关键字吗 extends java extend java excel读取java enum java 小程序和app的区别 awesome java arrays java eclipse创建java dozer java double java 微信怎么群发消息给多人 django java continue java 被删的微信聊天记录怎么找回来 compareto java