springcloud3 GateWay章节-Nacos+gateway动态路由负载均衡4

一  工程结构

1.1 工程

springcloud3 GateWay章节-Nacos+gateway动态路由负载均衡4_第1张图片

 1.2 搭建gatewayapi工程

1.pom文件

 
      junit
      junit
      4.13
      test
    
    
    
      org.springframework.cloud
      spring-cloud-starter-gateway
      
      
        
        
          org.springframework.boot
          spring-boot-starter-web
        
      
    
    
    
      org.springframework.cloud
      spring-cloud-starter-zipkin
    
    
    
      com.alibaba.cloud
      spring-cloud-starter-alibaba-nacos-discovery
    

    
    
      org.springframework.boot
      spring-boot-devtools
      runtime
      true
    
    
      org.projectlombok
      lombok
      true
    
    
      org.springframework.boot
      spring-boot-starter-test
      test
    
  

2.启动类

@SpringBootApplication
@EnableDiscoveryClient
public class App 
{
    public static void main( String[] args )
    {
        SpringApplication.run(App.class, args);
        System.out.println("网关启动完毕.....");
    }
}

3.配置文件

server:
  port: 7004
#服务名称
spring:
  application:
    name: mscloud-nacos-gateway-api7004
  zipkin:
    base-url: http://localhost:9411
    sleuth:
      sampler:
      #采样率值介于 0 到 1 之间,1 则表示全部采集
      probability: 1
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true #开启从注册中心动态创建路由的功能,利用微服务名进行路由
      routes:
        - id: payment_routh #payment_route    #路由的ID,没有固定规则但要求唯一,建议配合服务名
          #uri: http://localhost:8001          #匹配后提供服务的路由地址
          uri: lb://mscloud-cluster-providers #匹配后提供服务的路由地址 http://localhost:9007/payment/get/1?uname=aa  等价于 http://localhost:9003/payment/get/1
          predicates:                          ##浏览器上直接访问eureka的应用名不行:ttp://mscloud-cluster-providers/payment/get/1  这样访问不行
            - Path=/payment/get/**         # 断言,路径相匹配的进行路由

        - id: payment_routh2 #payment_route    #路由的ID,没有固定规则但要求唯一,建议配合服务名
          #uri: http://localhost:8001          #匹配后提供服务的路由地址
          uri: lb://nacos-payment-provider #匹配后提供服务的路由地址
          predicates:
            - Path=/payment/nacos/**         # 断言,路径相匹配的进行路由
            - After=2023-03-12T11:52:37.485+08:00[Asia/Shanghai]
            #- Cookie=username,zzyy
            #- Header=X-Request-Id, \d+  # 请求头要有X-Request-Id属性并且值为整数的正则表达式

1.3 测试

1.启动nacos,sleuth

2.启动gatewayapi,mscloud-nacos-provider7001,mscloud-nacos-provider7002

如图:

springcloud3 GateWay章节-Nacos+gateway动态路由负载均衡4_第2张图片

3.访问

多次刷新:7001和7002 不停的切换

你可能感兴趣的:(springcloud3,gateway,java,开发语言)