@coldxiangyu
2017-06-06T16:18:51.000000Z
字数 1060
阅读 8005
WEB框架
在研究Spring Cloud的过程中,本地搭建好Eureka注册中心之后,发现Eureka服务页面显示的服务是机器名:端口的格式,并不是IP+端口的形式。
如下图:
具体搭建过程我就不再贴代码了,参考我关于spring cloud其他文章即可。
我的配置如下:
spring.application.name=compute-service
server.port=2223
eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
在查找方案的时候发现还有一个eureka.instance.prefer-ip-address=true
的配置,这也是网上绝大多数人提供的方案,但是我加上这个配置之后,依然是机器名+端口的形式。
后来查找相关配置发现,单单配置这个是不够的,以下是我最终的配置:
spring.application.name=compute-service
server.port=2223
spring.cloud.client.ipAddress=192.168.43.177
eureka.instance.prefer-ip-address=true
eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${spring.application.name}:${server.port}
eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
附结果图:
搞定!
注意,spring cloud不同版本的配置可能不同,比较老的版本是eureka.instance.preferIpAddress=true
替代eureka.instance.prefer-ip-address=true
在实际的使用过程中,我发现eureka.instance.prefer-ip-address=true
其实并不是必须的,只要配置:
spring.cloud.client.ipAddress=192.168.43.177
eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${spring.application.name}:${server.port}
即可显示IP+端口,不过保险起见,建议使用完整配置。