Eureka高可用出现unavailable-replicas问题的解决方案

Eureka高可用出现unavailable-replicas问题的解决方案

参照《Spring Cloud微服务实战》一书搭建eureka高可用时,节点之间互相注册成功,但是,节点均出现在unavailable-replicas,针对该问题,查阅多方资料以及个人测试,总结出来下面几点解决方案,若有同遇到此问题的伙伴,本文可供参考排查错因。
注:本人共有三个配置文件,如下
在这里插入图片描述

1:spring.application.name

每个application.properties内spring.application.name必须要一致(本人测试不写也是通过了的)

2:eureka.client.serviceUrl.defaultZone

该参数在配置地址时,不可使用localhost,应使用域名,DNS解析配置文件在C:\Windows\System32\drivers\etc\hosts文件内
在这里插入图片描述

3:eureka.client.register-with-eureka: true

eureka.client.fetch-registry: true

这两项若配置,则必须设为true,将自己作为服务向其他注册中心注册自己。
启动服务时虽然采用 --spring.profiles.active = peer1 指定了配置文件,但还是会从 application.properties 中取值,将application.properties的

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

注释掉或者 在 application-peer1.properties 与 application-peer2.properties 中指定这两个属性值为true

4:eureka.instance.hostname

eureka会自动拉取设备host,各节点在同一机器下时请务必添加,注意各节点配置自己节点的host
在这里插入图片描述
在这里插入图片描述

5:eureka.instance.prefer-ip-address:

该值若配置一定要配置为false!!!
prefer-ip-address: true代表使用IP地址的形式来定义注册中心的地址,而不使用主机名,而defaultZone中是以域名的方式向注册中心注册的,最终导致分片节点不能识别匹配(IP地址与域名),而认为分片均处于不可达状态。
《Spring Cloud 微服务实战》一书中关于该部分说明略隐晦,本小白未能参悟,写此文记录学习所遇困惑亦供参考。

参考:《Spring Cloud 微服务实战》

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值