博海拾贝--springcloud的组件及使用(3)服务网关 GateWay

Srpingcloud 服务网关 GateWay

前言:

Spring Cloud Gateway是springcloud官方推出的第二代网关框架,她包括转发、限流、熔断、权限校验等功能。

本文就来介绍GateWay的相关配置和使用

 

版本:

Springboot 2.0.0

Springcloud Finchley.RELEASE

注意使用这个版本组合时 spring-cloud-gateway-core的版本必须是2.0.2以上 不然在网关路由时会因为版本原因出现空指针异常。

 

网关配置及访问:

首先我们新建一个新的maven项目:

博海拾贝--springcloud的组件及使用(3)服务网关 GateWay_第1张图片

然后添加springcloud-gateway的jar包依赖


    
        org.springframework.cloud
        spring-cloud-starter-gateway
        2.0.3.RELEASE
        
            
                org.springframework.cloud
                spring-cloud-gateway-core
            
        
    
    
        org.springframework.cloud
        spring-cloud-starter-netflix-eureka-client
    

    
        org.springframework.cloud
        spring-cloud-gateway-core
        2.0.3.RELEASE
    

Bootstrap.yml配置:

server:
  port: 8082
spring:
  application:
    name: springcloud-gateway
  cloud:
    config:
      discovery:
        enabled: true
        service-id: woka-config
    gateway:
      discovery:
        locator:
          enabled: true
          lower-case-service-id: true
      routes:  
      - id: woka-gateway  #网关iD
        uri: http://localhost:7001/   #这里可以也可以写lb:/网关id
        predicates:
          - Path=/admin/*  需要的路由的路径

          - Query=author, admin
          - Query=admin
          - Method=GET
          - Cookie=user, admin
          - Header=X-Request-Id, \d

 

 

 

简要介绍一下这里的几个属性

Route(路由)

filter(过滤器) :路由请求的过滤逻辑

Predicates (断言):也就是路由的规则  可以理解为满足条件才可以触发路由。下面是所有断言的属性条件:

Path : 满足路径条件的断言

Before:时间条件 在某个时间内

After:和before 类似

Cookie:请求包含某个cookie

Header:满足请求头的条件

HOST:主机名匹配

Method:请求方式 get/post

QUERY:请求

启动类配置:

博海拾贝--springcloud的组件及使用(3)服务网关 GateWay_第2张图片

 

测试步骤:启动注册中心----启动服务提供者----启动消费者----启动网关----调用http://localhost:7001/admin/login(这是我消费者的接口 ) 可以成功返回----将其改成http://localhost:8082/admin/login网关地址   也能成功返回则说明网关路由成功了。

你可能感兴趣的:(spring,boot,java,网关)