Spring Cloud 使用Ribbon做客户端负载均衡遇到的坑

Spring Cloud 使用Ribbon做客户端负载均衡遇到的坑

Spring Cloud Ribbon使用服务名调用服务提供者异常 java.net.UnknownHostException

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

日志详情:
Spring Cloud 使用Ribbon做客户端负载均衡遇到的坑_第1张图片
就是不识别SERVICE-HI
Spring Cloud 使用Ribbon做客户端负载均衡遇到的坑_第2张图片
在RestTemplate bean配置中也添加了负载均衡注解@LoadBalanced

@SpringBootApplication
@EnableEurekaClient
@EnableDiscoveryClient //向服务中心注册
@EnableHystrix
public class ServiceRibbonApplication {

	public static void main(String[] args) {
		SpringApplication.run(ServiceRibbonApplication.class, args);
	}

	@Bean
	@LoadBalanced //restRemplate开启负载均衡的功能
	RestTemplate restTemplate(){
		return new RestTemplate();
	}
}

最后,发现了原因,是在导入依赖的时候不小心多加了scope,虽然这个错误很低级,但却很致命,希望大家遇到类似问题是check一下导入依赖时是否出了问题。

<dependency>
			<groupId>org.springframework.cloudgroupId>
			<artifactId>spring-cloud-starter-netflix-ribbonartifactId>
			
dependency>

去掉scope,重新启动项目后,再次调用成功!

你可能感兴趣的:(SpringBoot,SpringCloud)