ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

SpringCloud项目实现负载均衡时报错:java.lang.IllegalStateException: No instances available for XXX

2021-09-09 10:30:18  阅读:258  来源: 互联网

标签:lang available 服务 消费者 XXX eureka 报错 注册 IllegalStateException


SpringCloud项目Eureka消费者通过@loadBalanced实现负载均衡时报错:java.lang.IllegalStateException: No instances available for springcloud

Eureka注册中心明明看着有服务名,但是消费者通过restTemplate访问的时候却报错,java.lang.IllegalStateException: No instances available for springcloud

服务消费者:

@RestController
public class ConsumerController {

    @Autowired
    private RestTemplate restTemplate;

    private static final String APPLICATION_NAME = "http://springcloud";

    @RequestMapping("/list")
    public String list() {
        return restTemplate.getForObject(APPLICATION_NAME + "/get", String.class);
    }
}

配置类:

@Configuration
public class ConfigBean {

    @Bean
    @LoadBalanced
    public RestTemplate getRestTemplate() {
        return new RestTemplate();
    }

}

消费者配置文件:

server:
  port: 9000

eureka:
  client:
    service-url:
      defaultZone: http://eureka7000:7000/eureka/,http://eureka7001:7001/eureka/,http://eureka7002:7002/eureka/
    register-with-eureka: false
    fetch-registry: false
  instance:
    prefer-ip-address: true

注册中心看到服务没有问题,注册中心集群也没问题

在这里插入图片描述

访问消费者,报错如下:

在这里插入图片描述

报错原因:

这句配置的大概意思是不从eureka注册中心获取服务列表,默认为true,这里配置为false所以消费者不从注册中心获取服务列表,所以找不到注册中心的服务

fetch-registry: false

解决办法

消费者配置文件取消上面那句配置

标签:lang,available,服务,消费者,XXX,eureka,报错,注册,IllegalStateException
来源: https://blog.csdn.net/m0_46079130/article/details/120195373

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有