spring cloud unavailable-replicas
最近学习 spring cloud 微服务实战 的 eureka server 高可用性,提示 unavailable-replicas。当时项目下有3个属性文件 。各属性文件配置如下:application.propertiesapplication-peer1.propertiesapplication-peer2.propertie
最近学习 spring cloud 微服务实战 的 eureka server 高可用性,提示 unavailable-replicas。
当时项目下有3个属性文件
各属性文件配置如下:
application.properties
server.port=1111 eureka.instance.hostname=localhost #默认设置下,服务注册中心也会将自己作为客户端来尝试注册自己,这里禁用它的客户端注册行为 eureka.client.register-with-eureka=false #由于注册中心的职责就是维护服务实例,它并不需要去检索服务,所以也设置为false eureka.client.fetch-registry=false eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
application-peer1.properties
spring.application.name=eureka-server server.port=1111 eureka.instance.hostname=peer1 spring.profiles.active=peer1 eureka.client.serviceUrl.defaultZone=http://peer2:1112/eureka/
application-peer2.properties
spring.application.name=eureka-server server.port=1112 eureka.instance.hostname=peer2 spring.profiles.active=peer2 eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/
启动
java -jar eureka-server-1.0.0.jar --spring.profiles.active = peerl
java -jar eureka-server-1.0.0.jar --spring.profiles.active = peer2
地址栏输入 http://peer1:1111
发现 peer2 为 unavailable-replicas
启动服务时虽然采用 --spring.profiles.active = peerl 指定了配置文件,但还是会从 application.properties 中取值,将application.properties的
eureka.client.register-with-eureka=false eureka.client.fetch-registry=false注释掉或者 在 application-peer1.properties 与 application-peer2.properties 中显示 指定 这两个属性值为true即可。
另 application-peer1.properties 与 application-peer2.properties 的 spring.application.name属性不一致也会有此问题。
附spring cloud属性加载顺序:
参考:《Spring Cloud 微服务实战》
更多推荐
所有评论(0)