No instances available for XXX

No instances available for XXX

解释

No instances available for XXX
没有名为XXX的可用实例

背景

springcloud+eureka+ribbon搭建负载均衡

解决方案

前提:除去负载均衡模块,其余模块均可正常运行
1、检查客户端pom.xml是否引入引入如下ribbon相关依赖

	
        
            org.springframework.cloud
            spring-cloud-starter-eureka
        
        
            org.springframework.cloud
            spring-cloud-starter-ribbon
        
        
            org.springframework.cloud
            spring-cloud-starter-config
        

2、客户端配置文件(application.yml)是否配置eureka相关信息

eureka:
  client:
    register-with-eureka: false
    service-url:
      defaultZone: # eureka(或集群)服务

3、消费端配置类上是否配置@LoadBalanced注解

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

4、消费端启动类是否添加@EnableEurekaClient注解
5、消费端url前缀应由引入ribbon前的Ip:port修改为eureka中显示的服务名称
该服务名称是在服务端配置文件中配置,如下:

spring:
  application:
    name: your-service

eureka默认将服务名称转化为大写,且ribbon在负载均衡时仅识别eureka中的大写服务,所以消费端的url前缀为大写的YOUR-SERVICE

你可能感兴趣的:(No instances available for XXX)