Spring Cloud Eureka 的一些配置

Eeureka注册时使用 IP 而不是 Hostname

Eureka的 client 注册到 server 时默认是使用 hostname 而不是 ip , 这就导致client在多台机器时,服务间相互调用时也会使用hostname进行调用,从而调用失败。
这时候就需要使用ip来服务到eureka-server上,需要在eureka的client增加配置如下:

客户端配置:

eureka.instance.prefer-ip-address=true
eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port}

 

配置如下:

 

如果关闭服务后,eureka注册中心不能及时刷新,可以使用下面的配置

服务端配置:

# 此处关闭可以防止问题(测试环境可以设置为false):Eureka server由于开启并引入了SELF PRESERVATION模式,
# 导致registry的信息不会因为过期而被剔除掉,直到退出SELF PRESERVATION模式才能剔除。
eureka.server.enable-self-preservation=false
#剔除失效服务间隔 
eureka.server.eviction-interval-timer-in-ms=2000

客户端配置

#Eureka客户端向服务端发送心跳的时间间隔,单位为秒(客户端告诉服务端自己会按照该规则)
eureka.instance.lease-renewal-interval-in-seconds =10
#Eureka服务端在收到最后一次心跳之后等待的时间上限,单位为秒,超过则剔除(客户端告诉服务端按照此规则等待自己)
eureka.instance.lease-expiration-duration-in-seconds =5

 

posted @ 2018-11-03 20:55  cearnach  阅读(150)  评论(0编辑  收藏  举报