在做eureka 服务集群是,使用Ribbon做客户端负载均衡,服务提供者使用服务名,客户端报错, java.net.UnknownHostException

 

查看日志:

就是不识别FUTURECLOUD-USER,

查看Spring Cloud 官网,Ribbon的用法,发现使用Ribbon的时候,必须要在RestTemplate bean配置中添加负载均衡注解@LoadBalanced

于是将Ribbon项目主类中的RestTemplate 添加注解 @LoadBalanced

@SpringBootApplication
@EnableEurekaClient
@RibbonClient("FUTURECLOUD-USER") //启动ribbon ,并对FUTURECLOUD-USER进行负载均衡
public class FuturecloudRibbonApplication
{
    @Bean  //相当于xml中的bean标签,主要是用于调用当前方法获取到指定对象
    @LoadBalanced
    public RestTemplate getRestTemplate(){
        return new RestTemplate();
    }
    public static void main( String[] args )
    {

        SpringApplication.run(FuturecloudRibbonApplication.class,args);
    }
}

 

再次启动Ribbon项目,成功!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐