gateway网关进行路由转发、权限校验、限流控制使用实例

  1. 新建gateway微服务module,并导入依赖

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

    其余依赖参考链接

  2. 在主启动类中配置@EnableDiscoveryClient注解开启服务注册与发现,这样网关微服务能够发现其他服务

    package com.kenai.gulimall.gateway;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
    import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
    
    @EnableDiscoveryClient
    //commom依赖包中有mybatis依赖包,需要配置数据源,但是gateway服务不需要数据库相关服务,所以去除掉
    @SpringBootApplication(exclude = {
          
          DataSourceAutoConfiguration.class})
    public class GulimallGatewayApplication {
          
          
    	public static void main(String[] args) {
          
          
    		SpringApplication.run(GulimallGatewayApplication.class, args);
    	}
    }
    
  3. application.properties配置nacos注册中心地址和该应用服务名称

    spring.cloud.nacos.discovery.server-addr=localhost:8848
    spring.application.name=gulimall-gateway
    # 网关服务端口为90
    server.port=90
    

    也可以在bootstrap.properties中配置nacos配置中心地址和该应用服务名称,从而可以在配置中心中修改配置文件.

    spring.cloud.nacos.config.server-addr=localhost:8848
    spring.application.name=gulimall-gateway
    # nacos配置中心的命名空间
    spring.cloud.nacos.config.namespace=0f8c698c-1c8c-4aff-865a-dcf2ee83607b
    
  4. 网关配置(请求url、断言等)

    spring:
      cloud:
        gateway:
          routes:
            - id: test_route
              # 要访问的地址,即路由目的地
              uri: https://www.baidu.com
              # 断言,即满足的条件
              predicates:
                # 需要满足请求包含参数url,并且对应的值为baidu
                - Query=url, baidu
            - id: qq_route
              uri: https://www.qq.com
              # 断言,即满足的条件
              predicates:
                # 需要满足请求包含参数url,并且对应的值为baidu
                - Query=url, qq
    
  5. 访问测试
    在这里插入图片描述
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_26496077/article/details/113924241