网关Gateway基本配置

https://hj.youxisg.com/orderquery?orderid=JH240128234212999968

统一网关Gateway

网关搭建步骤:
1、创建项目,引入nacos服务发现和gateway依赖
2、配置application.yml,包括服务基本信息、nacos地址、路由
路由配置包括:
1、路由id:路由的唯一标识
2、路由目标(uri)路由的目标地址,http代表固定地址,lb代表根据服务名负载均衡
3、路由断言(predicates):判断路由的规则
4、路由过滤器(filters):对请求或响应做处理

在网关模块添加依赖:

<!--        网关的依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
 
<!--        nacos客户端-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
 
<!--        配置中心-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
server:
  port: 10010 # 网关端口
spring:
  application:
    name: gateway # 服务名称
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos地址
    gateway:
      routes: # 网关路由配置
        - id: user-service # 路由id,自定义,唯一标识
          # uri: http://127.0.0.1:8081 # 路由的目标地址 http就是固定地址
          uri: lb://userservice # 路由的目标地址 lb就是负载均衡,后面跟服务名称
          predicates: # 路由断言,也就是判断请求是否符合路由规则的条件
            - Path=/order/** # 这个是按照路径匹配,只要以/order/开头就符合要求
           filters: #过滤器
      #开启网关拉取nacos的服务
      discovery:
        locator:
          enabled: true

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring Cloud Gateway是一个基于Spring Framework 5、Project Reactor和Spring Boot 2构建的反应式API网关。它提供了一种简单而强大的方式来路由、限流和过滤请求。 下面是Spring Cloud Gateway的全部配置详解: 1. 创建一个Spring Boot应用程序,并添加以下依赖: ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> ``` 2. 在application.yml或application.properties文件中配置网关基本信息,例如端口号和应用名称: ```yaml server: port: 8080 spring: application: name: gateway-service ``` 3. 配置路由规则,定义请求到达网关后的转发规则。可以通过yml或properties文件进行配置: - YML格式: ```yaml spring: cloud: gateway: routes: - id: route1 uri: http://example.com predicates: - Path=/example/** ``` - Properties格式: ```properties spring.cloud.gateway.routes[0].id=route1 spring.cloud.gateway.routes[0].uri=http://example.com spring.cloud.gateway.routes[0].predicates[0]=Path=/example/** ``` 上述配置表示将以/example/**开头的所有请求转发到http://example.com。 4. 配置过滤器,对请求进行过滤和修改。可以使用内置的过滤器,也可以自定义过滤器。 - 内置过滤器使用示例: ```yaml spring: cloud: gateway: routes: - id: route1 uri: http://example.com predicates: - Path=/example/** filters: - AddRequestHeader=X-Request-Foo, Bar - AddResponseHeader=X-Response-Foo, Baz ``` 上述配置表示在转发请求之前,在请求头中添加X-Request-Foo: Bar,在响应头中添加X-Response-Foo: Baz。 - 自定义过滤器使用示例: ```java @Component public class CustomFilter implements GlobalFilter, Ordered { @Override public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) { // 自定义过滤器逻辑 return chain.filter(exchange); } @Override public int getOrder() { return Ordered.LOWEST_PRECEDENCE; } } ``` 自定义过滤器需要实现GlobalFilter接口,并通过@Component注解将其注册为Spring Bean。可以在filter方法中编写自定义的过滤逻辑。 这些是Spring Cloud Gateway基本配置,你可以根据实际需求添加更多的路由规则和自定义过滤器。通过灵活配置,你可以实现路由转发、请求限流、负载均衡等功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值