Eureka 开发随笔
Eureka 搭建集群,节点均出现在 unavailable-replicas 下
Eureka 搭建高可用集群,启动多个注册中心后,节点均出现在 unavailable-replicas
,查阅各类资料和测试,提供的方案如下:
eureka.client.serviceUrl.defaultZone
配置项的地址,不能使用localhost
或者内网/外网 IP
,要使用域名,DNS 解析请自行配置,也可以在本机的/etc/hosts
里映射域名
spring.application.name
要一致(默认不配置也可以)
register-with-eureka
设置为true
(默认不配置也可以)
1 | eureka: |
- 配置
eureka.instance.hostname
(好像看到过正常情况下 Eureka 会自动拉取设备 Host,但各节点在同一机器下时请务必添加,注意各节点配置自己节点的 Host)
- 配置
1 | eureka: |
- 千折腾万折腾还是不好使的时候,请去掉下面这个参数或者改为
false
(神坑),未找到官方原因
- 千折腾万折腾还是不好使的时候,请去掉下面这个参数或者改为
1 | eureka: |
个人大概理解了下,prefer-ip-address: true
为不使用主机名来定义注册中心的地址,而使用 IP 地址的形式,而 defaultZone
中是以域名的方式向注册中心注册的(测试了下使用 IP 注册到备份节点不可识别),最终导致分片节点不能识别匹配(IP 地址与域名),而认为分片均处于不可达状态。