spring cloud unavailable-replicas

最近学习 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 微服务实战》

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值