在eureka进行集群实现高可用时,由于不恰当的配置,容易引起'available-replicas'可用副本为空的情况,如图示
这是由于下面3个原因导致的
1.'eureka.instance.appname'与'spring.application.name’不一致
2.‘eureka.instance.preferIpAddress’为true
3.没有开启注册到自身。
可参考配置如下
spring:
application:
name: eureka-server
profiles: peer2
cloud:
client:
ipAddress: 127.0.0.1
server:
port: 8762
eureka:
instance:
hostname: peer2
lease-expiration-duration-in-seconds: 30 #续约到期时间(默认90秒)
lease-renewal-interval-in-seconds: 10 #续约更新时间间隔(默认30秒),使得eureka及时剔除无效服务
prefer-ip-address: false
instance-id: ${spring.cloud.client.ipAddress}:${server.port}
appname: eureka-server #这里要跟‘spring.application.name’一致,还有‘prefer-ip-address’为false,同时开启自身注册,‘available-replicas’有效副本