在做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项目,成功!

本文详细解析了在Spring Cloud环境下,如何正确配置Ribbon实现客户端负载均衡,特别是在使用Eureka服务注册与发现时,解决因未正确配置RestTemplate而导致的服务名识别错误问题。
1020

被折叠的 条评论
为什么被折叠?



