GateWay使用

本文介绍了如何在Spring Cloud Gateway中配置路由、负载均衡、路由断言和过滤器,展示了如何通过YAML配置文件设置服务发现和路由到不同的微服务实例。同时,提到了Eureka作为服务注册与发现组件的使用。
摘要由CSDN通过智能技术生成

引入依赖

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


<dependency>
      <groupId>org.springframework.cloud</groupId>
       <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>

配置yml

server:
  port: 9999 # 网关端口
spring:
  application:
    name: gateway # 服务名称
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos地址
    gateway:
      routes: # 网关路由配置
        - id: pi-service1 # 路由id,自定义,只要唯一即可
          # uri: http://127.0.0.1:8081 # 路由的目标地址 http就是固定地址
          uri: http://localhost:8001 # 路由的目标地址 lb就是负载均衡,后面跟服务名称
          predicates: # 路由断言,也就是判断请求是否符合路由规则的条件
            - Path=/user/** # 这个是按照路径匹配,只要以/user/开头就符合要求
        - id: api-service2
          uri: http://localhost:8002
          predicates:
            - Path=/order/**

同上

server:
  port: 10001 # 网关端口
spring:
  application:
    name: gateway # 服务名称
  cloud:
    gateway:
      routes: # 网关路由配置
        - id: api-service1 # 路由id,自定义,只要唯一即可
          # uri: http://127.0.0.1:8081 # 路由的目标地址 http就是固定地址
          uri: lb://api-service1 # 路由的目标地址 lb就是负载均衡,后面跟服务名称
          predicates: # 路由断言,也就是判断请求是否符合路由规则的条件
            - Path=/product/** # 这个是按照路径匹配,只要以/product/开头就符合要求
          filters:
            - AddRequestHeader=token,wahahaawahaha
            - AddRequestParameter=username, ergou
            - SetStatus=404
            # - RewritePath=/red(?<segment>/?.*), $\{segment}
            - StripPrefix=2
        - id: api-service2
          uri: lb://api-service2
          predicates:
            - Path=/order/**
eureka:
  client:
    service-url:
      defalutZone: http://localhost:8761/eureka

properties

server.port=9999
spring.application.name=gateway
spring.cloud.nacos.server-addr=localhost:8848
spring.cloud.gateway.routes[0].id=pi-service1
spring.cloud.gateway.routes[0].uri=http://localhost:8001
spring.cloud.gateway.routes[0].predicates[0]=Path=/user/**
spring.cloud.gateway.routes[1].id=api-service2
spring.cloud.gateway.routes[1].uri=http://localhost:8002
spring.cloud.gateway.routes[1].predicates[0]=Path=/order/**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值