大脑网络的结构-功能耦合:一种机器学习方法

2021-08-20 JavaScript-1

  返回  

springcloud-Gateway

2021/8/20 22:23:16 浏览:

1.gateway

特点:

1 限流
2 路径重写
3 动态路由
4基础springcliudDiscoveryClient
5 集成hystrix断路器

和Zuul 对比

1 Zuul 不支持长连接

1.1 基本用法

Springcloud Gateway
配置routelocator 这样一个Bean就可以实现请求转发:

   @Bean
   RouteLocator routeLocator(RouteLocatorBuilder builder){
        return builder.routes()
                .route("java",r->r.path("/get").uri("http://httpbin.org"))
                .build();
   }

这里只需要提供这个RouteLocator这个Bean,就可以实现请求转发
application.yml

spring:
  cloud:
    gateway:
      routes:
        -id: java
        uri: http://httpbin.org
        predicates:
          - Path=/get

2.1 服务化
添加依赖:

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

开启自动代理


spring:
  cloud:
    gateway:

#//是否开启gateway
      discovery:
        locator:
          enabled: true # 开启自动代理
  application:
    name: gateway
eureka:
  client:
    service-url:
      defaultZone: http://localhost:1110/eureka
logging:
  level:
    org.springframework.cloud.gateway: debug

#//是否开启gateway

在这里插入图片描述

3.1 Predicate( 重要)

1 通过时间匹配

这个表示请求时间在2021-01-01T:01:01:01+08:00[Asia/Shanghai] 之后才会被路由

  • Before: 表示在这个时间点之前,
  • between 表示在这个时间点之间
spring:
  cloud:
    gateway:
      routes:
        -id: java
        uri: http://httpbin.org
        predicates:
          - After=2021-01-01T:01:01:01+08:00[Asia/Shanghai]

2 通过方法匹配

  • 这个只给get请求匹配
spring:
  cloud:
    gateway:
      routes:
        -id: java
        uri: http://httpbin.org
        predicates:
          - Method=GET

3 路径匹配

  • 只要路径符合规则
spring:
 cloud:
   gateway:
     routes:
       -id: java
       uri: http://httpbin.org
       predicates:
         - Path=/2019/0612/{segment}

4 通过参数进行匹配

  • 一定要有那么才会转发
spring:
 cloud:
   gateway:
     routes:
       -id: java
       uri: http://httpbin.org
       predicates:
         - Query=name

5 多种可以组合

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号