Node.js heroku eureka js客户端节点-Spring云Netflix支持-
我想要实现的是:Node.js heroku eureka js客户端节点-Spring云Netflix支持-,node.js,heroku,spring-cloud,netflix-eureka,Node.js,Heroku,Spring Cloud,Netflix Eureka,我想要实现的是: 在heroku的my eureka服务器中注册node.js服务 到目前为止,我可以在heroku的eureka服务器中注册一个常规的eureka客户端,没有问题。但是当我尝试使用node.js服务时,我对配置感到非常困惑 我以为eureka js客户端是解决方案,但迄今为止没有成功 代码如下 const express = require('express'); const path = require('path'); const port = process.env.P
- 在heroku的my eureka服务器中注册node.js服务
到目前为止,我可以在heroku的eureka服务器中注册一个常规的eureka客户端,没有问题。但是当我尝试使用node.js服务时,我对配置感到非常困惑
我以为eureka js客户端是解决方案,但迄今为止没有成功
代码如下
const express = require('express'); const path = require('path'); const port = process.env.PORT || 3090; const app = express(); app.use(express.static(__dirname)); const bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({extended: false})); app.use(bodyParser.json()); app.get('*', (req, res) => { res.sendFile(path.resolve(__dirname, 'index.html')) }); const Eureka = require('eureka-js-client').Eureka; const eureka = new Eureka({ instance: { app: 'sheila', hostName: 'localhost', ipAddr: '127.0.0.1', statusPageUrl: 'http://localhost:5000', healthCheckUrl: 'http://localhost:5000/health', port: { '$': 5000, '@enabled': 'true', }, vipAddress: 'myvip', dataCenterInfo: { '@Class': 'com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo', name: 'MyOwn', }, }, eureka: { host: 'localhost', port: 8761, servicePath: '/eureka/apps/', }, }); eureka.logger.level('debug'); eureka.start(function(error){ console.log(error || 'complete'); }); // ------------------ Server Config -------------------------------------------- var server = app.listen(5000, function () { var port = server.address().port; console.log('Listening at %s', port); });
docker run-it-p 8761:8761 springcloud/eureka
后,我在本地进行了尝试。但我得到了这个错误:
Problem making eureka request { [Error: connect ECONNREFUSED 127.0.0.1:8761]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 8761 }
如果我像从heroku服务运行一样运行它,它不会执行:(:)
我还尝试用主机替换heroku eureka服务器的url,但随后出现401或404错误。eureka服务器需要密码,我在heroku客户端js中添加了密码
有什么想法吗?您需要包括一个instanceId,它应该是这个实例的唯一标识符
const eureka = new Eureka({
instance: {
instanceId:'sheila',
app: 'sheila',
hostName: 'localhost',
ipAddr: '127.0.0.1',
statusPageUrl: 'http://localhost:5000',
healthCheckUrl: 'http://localhost:5000/health',
port: {
'$': 5000,
'@enabled': 'true',
},
vipAddress: 'myvip',
dataCenterInfo: {
'@Class': 'com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo',
name: 'MyOwn',
},
},
eureka: {
host: 'localhost',
port: 8761,
servicePath: '/eureka/apps/',
},
});
您需要包含一个instanceId,它应该是此实例的唯一标识符
const eureka = new Eureka({
instance: {
instanceId:'sheila',
app: 'sheila',
hostName: 'localhost',
ipAddr: '127.0.0.1',
statusPageUrl: 'http://localhost:5000',
healthCheckUrl: 'http://localhost:5000/health',
port: {
'$': 5000,
'@enabled': 'true',
},
vipAddress: 'myvip',
dataCenterInfo: {
'@Class': 'com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo',
name: 'MyOwn',
},
},
eureka: {
host: 'localhost',
port: 8761,
servicePath: '/eureka/apps/',
},
});