例子中和我写的代码里,使用的spring-boot的版本是2.0

Eureka的客户端默认是使用hostname来进行注册的,有的时候,hostname是不可靠的,需要使用IP地址来进行注册

name如何正确的使用IP地址来进行注册呢?根据我自己的实践,下边的方法是可行的(基于spring-boot2.0版本)

首先是Eureka的服务器端配置:

eureka.instance.prefer-ip-address=true

然后是eureka的客户端的配置:

eureka.instance.prefer-ip-address=true
eureka.instance.instance-id: ${客户端注册时显示的IP地址}:${server.port}
spring.cloud.inetutils.preferred-networks=想要使用的网卡分配的IP地址的通配符(例如191.168.1.)

之所以要配置网卡的信息,是因为,如果不配置的话,springcloud会找到第一个不是本地的网卡 来使用这个网卡分配的ip地址来进行注册,但是一般情况下 spring.cloud.inetutils.preferred-networks这个属性,不建议配置在配置文件里, 可以作为环境变量或者是应用的启动信息传入即可,因为每个服务器上的网卡信息都是不一样的,写死了之后,不方便迁移和部署多套环境

服务器端和客户端分别做完上述的配置之后,客户端就可以使用IP地址来到服务器端来进行注册了

posted on 2018-04-03 23:34  梦中彩虹  阅读(1024)  评论(0编辑  收藏  举报