eureka停更后,选择zookeeper替代
替代过程中其中以问题
在jar包上选择eureka不能与zookeeper共存
假如maven jar这么写
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
</dependency>
<!--eureka-client-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
会报以下这么一个错误
***************************
APPLICATION FAILED TO START
***************************Description:
Field registration in org.springframework.cloud.client.serviceregistry.ServiceRegistryAutoConfiguration$ServiceRegistryEndpointConfiguration required a single bean, but 2 were found:
- serviceInstanceRegistration: defined by method 'serviceInstanceRegistration' in class path resource [org/springframework/cloud/zookeeper/serviceregistry/ZookeeperAutoServiceRegistrationAutoConfiguration.class]
- eurekaRegistration: defined in BeanDefinition defined in class path resource [org/springframework/cloud/netflix/eureka/EurekaClientAutoConfiguration$RefreshableEurekaClientConfiguration.class]
Action:Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed
从上面来看,不难看出问题的所在
我们既然是替换掉就把eureka-client去掉就可以了
<!-- <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>-->
在使用RestTemplate方式请求的时候,在初始化bean,一定要加上
@LoadBalanced 负载均衡器
否则会报错
java.net.UnknownHostException: cart-provider