如何解决eureka-js-client为什么我不能为两个服务实例使用相同的主机名?
我正在为同一服务部署两个实例,并且两个实例在同一计算机上的不同端口上运行。由于它是一个Nodejs应用程序,因此我使用eureka-js-client进行混音。我的客户端配置yml文件如下:
eureka:
heartbeatInterval: 30000
registryFetchInterval: 30000
host: 'username:passwor@ipAdrress'
port: 8000
servicePath: '/eureka/apps/'
preferIpAddress: true
instance:
app: 'nodejs-service'
hostName: 'localhost'
ipAddr: 'localhost'
statusPageUrl: 'http://localhost:3000'
port:
'$': 3000
'@enabled': 'true'
vipAddress: 'nodejs-service'
dataCenterInfo:
'@class': 'com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo'
name: 'MyOwn'
对于另一个实例,我只是将端口更改为4000。当我注册3000和4000时,它在eureka页面上仅显示4000实例。也就是说,仅注册了一个实例。当我将hostName值之一更改为其他值后,它可以正常工作-已注册了两个实例。但是,我需要主机名相同,因为它们被部署在同一台计算机上。对于Java,相同的hostName可以,我想知道这是由我的yaml配置文件引起的问题。寻求帮助,谢谢!
解决方法
您需要像这样在yml文件中添加instance-id属性:
instance:
app: 'nodejs-service'
instanceId: 'node1'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。