负载均衡组件 -loadBalancer 无法获取服务端信息问题

张开发
2026/4/16 18:54:17 15 分钟阅读

分享文章

负载均衡组件 -loadBalancer 无法获取服务端信息问题
负载均衡组件 -loadBalancer 无法获取服务端信息问题客户端出现以上截图问题可以考虑以下方案负载均衡是否开启配置ConfigurationpublicclassRestTemplateConfig{BeanLoadBalancedpublicRestTemplaterestTemplate(){returnnewRestTemplate();}}用了Controller而不是RestControllerController是返回视图的不会把方法返回值直接作为 HTTP 响应即使接口注册了也会返回 404找不到视图需要搭配ResponseBody修正方法直接用RestController等价于Controller ResponseBodyGetMapping路径拼写错误比如代码里写的是/api/consumer/call-provider但你访问的是/api/consum/call-provider少了e或者多了空格、大小写错误Spring Boot 路径默认大小写敏感修正方法严格核对代码路径和浏览器访问路径完全一致端口 / 服务启动错误你以为启动的是 8081 端口的 consumer 服务但实际启动的是其他服务或者服务没启动成功验证访问localhost:8081看是否返回 Spring Boot 的默认错误页确认服务正常运行在 8081修正方法在 IDEA 的 Run 窗口确认Started ConsumerApplication日志端口是8081包路径不匹配你的启动类 ConsumerApplication所在包com.example.consumer你的配置类 RestTemplateConfig所在包net.togogo.controller和启动类完全不在同一个包也不是子包Spring Boot 默认只扫描启动类所在包及其子包所以RestTemplateConfig完全被忽略了LoadBalanced修饰的RestTemplateBean 根本没被创建而ConsumerControllerTest在net.togogo.controller包下虽然加了RestController但因为RestTemplateBean 不存在注入失败服务直接启动报错exit code 1RestTemplateConfig上标了no usages就是因为 Spring 根本没加载这个类IDEA 也识别到它没被使用。修正方法调整包路径 让其在统一路径或统一路径子包下A 也识别到它没被使用。修正方法调整包路径 让其在统一路径或统一路径子包下给启动类加ComponentScan手动指定扫描包

更多文章