Spring_cloud alibaba 网关 gateway的使用

77 阅读1分钟
  1. 首先我们创建一个项目并引入gateway依赖

image.png

2.跟往常一样,配置nacos配置中心,nacos服务注册与发现功能 在 application.properties 中配置

spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.application.name=gulimall-gateway

server.port=88
  1. 我们还需要配置nacos配置中心,首先我们需要在nacos注册中心的命名空间中,新建一个gateway命名空间,给他一个独立的配置中心文件

image.png

  1. 由于我们在common服务中引入了mp,所以启动的时候自动配置数据源,但gateway里没有配置数据源,所有这里我们需要排除数据源 @SpringBootApplication(exclude = DataSourceAutoConfiguration.class)

  2. 这里我们配置好了gateway网关,然后我们模拟访问一个请求,然后经过路由跳转访问到它所需要的服务,下面我们来配置路由

spring:     # 配置路由规则 这里两个规则,如果请求路径中带有url字段,并值为qq则跳转qq.com  值为baidu 跳转 baidu.com
  cloud:
    gateway:
      routes:
        - id: test_route
          uri: https://www.baidu.com
          predicates:
            - Query=url,baidu # 请求路径中带有url字段

        - id: qq_route
          uri: https://www.qq.com
          predicates:
            - Query=url,qq

这里一共配置了两组配置,注释写的也挺详细。我们就可以模拟发送请求,localhost:88/hello?url=baidu

6.配置中心的配置,这个我们在bootstrap.properties中配置,因为springboot加载时他的优先级最高

spring.cloud.nacos.config.namespace=bd44d3b2-22bd-4168-b033-9ac1970c8aa6
spring.cloud.nacos.config.server-addr=127.0.0.1:8848