Eureka高可用,节点均出现在unavailable-replicas下
Posted xuechen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eureka高可用,节点均出现在unavailable-replicas下相关的知识,希望对你有一定的参考价值。
Eureka高可用部署,启动多个注册中心后,节点均出现在unavailable-replicas,查阅各类资料测试,提供方案:
1.eureka.client.serviceUrl.defaultZone配置项的地址,不能使用localhost,要使用域名,DNS解析请自行配置。
2.spring.application.name要一致(这个个人测试默认不配也可以)
3.如下两个参数需配为true(个人测试默认不配也可行)
eureka:
client:
register-with-eureka: true
fetch-registry: true
4.配置eureka.instance.hostname(好像看到过正常eureka会自动拉取设备host,但各节点在同一机器下时请务必添加,注意各节点配置自己节点的host)
eureka:
instance:
hostname:host1
5.千折腾万折腾还是不好使的时候,请去掉下面这个参数或者改为false(神坑),未找到官方原因。。
eureka:
instance:
prefer-ip-address: true
-------------------
个人大概理解了下,prefer-ip-address: true为不使用主机名来定义注册中心的地址,而使用IP地址的形式,而defaultZone中是以域名的方式向注册中心注册的(测试了下使用IP注册到备份节点不可识别),最终导致分片节点不能识别匹配(IP地址与域名),而认为分片均处于不可达状态。
语言组织不佳,有正解者还请指正。
以上是关于Eureka高可用,节点均出现在unavailable-replicas下的主要内容,如果未能解决你的问题,请参考以下文章
Spring Cloud笔记 Eureka通过集群实现高可用
SpringCloud系列四:实现Eureka Server的高可用并将应用注册到Eureka Sever集群上
Eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?