You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Cloud Gateway MVC中Simple Discovery Client负载均衡配置问题

解决Spring Cloud Gateway MVC中Simple Discovery Client负载均衡503问题

1. 确认依赖完整性

确保项目引入了Spring Cloud LoadBalancer和Simple Discovery Client的必要依赖:

<!-- Spring Cloud LoadBalancer -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<!-- 启用Simple Discovery Client -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-discovery-client</artifactId>
</dependency>

Gradle项目对应配置:

implementation 'org.springframework.cloud:spring-cloud-starter-loadbalancer'
implementation 'org.springframework.cloud:spring-cloud-starter-discovery-client'

2. 显式激活Simple Discovery Client

在application.yml中添加配置确保客户端启用:

spring:
  cloud:
    discovery:
      client:
        simple:
          enabled: true

或者在启动类上添加注解:

@SpringBootApplication
@EnableDiscoveryClient
public class TestApplication {
    public static void main(String[] args) {
        SpringApplication.run(TestApplication.class, args);
    }
}

3. 调整负载均衡健康检查配置

你当前配置的loadbalancer.configurations: health-check会过滤不健康实例,但Simple Discovery Client默认不维护实例健康状态,导致所有实例被标记为不健康,触发503错误。

方案一:临时禁用健康检查(快速验证)

移除健康检查配置:

spring:
  cloud:
    loadbalancer:
      # 注释或删除此行
      # configurations: health-check

方案二:为实例配置健康状态(保留健康检查)

给Simple Discovery Client的实例添加健康状态元数据:

spring:
  cloud:
    discovery:
      client:
        simple:
          instances:
            dashboard-backend:
              - instanceId: dashboard-backend-1
                serviceId: dashboard-backend
                uri: http://localhost:8081
                metadata:
                  health.status: UP
              - instanceId: dashboard-backend-2
                serviceId: dashboard-backend
                uri: http://localhost:8082
                metadata:
                  health.status: UP

4. 验证实例配置准确性

确认Simple Discovery Client中配置的serviceId与路由URI的lb://dashboard-backend完全一致,且实例uri格式正确(必须包含http://或https://)。


内容的提问来源于stack exchange,提问作者Krzysztof

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 11:29:56