From b1ef12c800b1f7aa6fe6750f56c956e4339d01a8 Mon Sep 17 00:00:00 2001 From: zhangli <123879394@qq.com> Date: Sun, 20 Jul 2025 00:27:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0sczx=5Forder=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E7=9A=84=E8=B7=AF=E7=94=B1=E6=98=A0=E5=B0=84=EF=BC=8C?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AF=B7=E6=B1=82=E5=93=8D=E5=BA=94=E7=9A=84?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sczx/gateway/component/DynamicRouteScheduler.java | 4 ++++ src/main/java/com/sczx/gateway/config/CustomRouteConfig.java | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/main/java/com/sczx/gateway/component/DynamicRouteScheduler.java b/src/main/java/com/sczx/gateway/component/DynamicRouteScheduler.java index 673ebad..76a3a21 100644 --- a/src/main/java/com/sczx/gateway/component/DynamicRouteScheduler.java +++ b/src/main/java/com/sczx/gateway/component/DynamicRouteScheduler.java @@ -2,6 +2,7 @@ package com.sczx.gateway.component; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.cloud.gateway.event.RefreshRoutesEvent; import org.springframework.context.ApplicationEventPublisher; import org.springframework.scheduling.annotation.Scheduled; @@ -14,6 +15,9 @@ public class DynamicRouteScheduler { @Autowired private ApplicationEventPublisher publisher; + @Autowired + private DiscoveryClient discoveryClient; + // 每30秒刷新一次路由(可按需调整) @Scheduled(fixedRate = 30_000) public void refreshRoutes() { diff --git a/src/main/java/com/sczx/gateway/config/CustomRouteConfig.java b/src/main/java/com/sczx/gateway/config/CustomRouteConfig.java index 4b9ac65..b100c88 100644 --- a/src/main/java/com/sczx/gateway/config/CustomRouteConfig.java +++ b/src/main/java/com/sczx/gateway/config/CustomRouteConfig.java @@ -33,6 +33,9 @@ public class CustomRouteConfig { .route("sczx-car", r -> r.path("/zc/car/**") .filters(f -> f.rewritePath("/zc/car/(?.*)", "/${segment}")) .uri(uriWithCustomLoadBalance("sczx-car"))) + .route("sczx-order", r -> r.path("/zc/order/**") + .filters(f -> f.rewritePath("/zc/order/(?.*)", "/${segment}")) + .uri(uriWithCustomLoadBalance("sczx-order"))) .build(); // .route("sczx_user", r -> r.path("/zc/user/**") // .uri("lb://sczx_user")) @@ -44,6 +47,7 @@ public class CustomRouteConfig { private URI uriWithCustomLoadBalance(String serviceName) { + log.info("{} ,开始负载均衡路由", serviceName); List instances = discoveryClient.getInstances(serviceName); if (instances == null || instances.isEmpty()) { throw new RuntimeException("No available instances for service: " + serviceName);