springCloud集成gateway配置文件

该博客介绍了如何在Spring Cloud Gateway中配置路由规则,包括使用Eureka客户端进行服务发现和负载均衡,以及添加自定义过滤器和断言规则。同时展示了如何动态从Eureka注册中心获取路由信息。
摘要由CSDN通过智能技术生成

pom.xml

 <dependencies>
        <!--gateway-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <!--eureka-client 已经集成了ribbon复杂 均衡-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <!--引入自己的commons包-->
        <dependency>
            <groupId>com.atguigu.springcloud</groupId>
            <artifactId>cloud-api-commons</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

application.yml

server:
  port: 9527

spring:
  application:
    name: cloud-gateway

  #路由匹配规则
  cloud:
    gateway:
      routes:
        - id: payment-routh                #路由的id,没有固定规则,但要求唯一,建议配合服务名
         # uri: http://localhost:8001       #匹配后提供服务的路由地址
          uri: lb://cloud-payment-service   #负载均衡,匹配后提供服务的路由地址
          filters:
            - AddRequestHeader=X-Request-Id, 1024
          predicates:             #Predicate就是为了实现一组匹配规则,让请求过来找到对应的Route进行处理。
            - Path=/payment/get/**         #断言,路径相匹配的进行路由
            - After=2021-07-27T14:43:15.366+08:00[Asia/Shanghai]   #在此时间之后,访问这个接口才有效  时间级别的还有Before,Between
            #- Cookie=username,haoyong        #cookie级别的路由规则
            #- Header=X-Request-Id, \d+       #请求头要有X-Request-Id属性,并且值为整数的正则表达式
           # - Method=Get                     #  请求方法方式

        - id: payment-routh2
          #uri: http://localhost:8001
          uri: lb://cloud-payment-service   #匹配后提供服务的路由地址
          predicates:
            - Path=/payment/lb/**
      discovery:
        locator:
          enabled: true                #开启从注册中心动态创建路由的功能,利用微服务名进行路由

eureka:
  instance:
    hostname: cloud-gateway-service
  client:
    fetch-registry: true
    register-with-eureka: true
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郝猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值