2017-07-23 4 views
0

Was ich erreichen will ist:Heroku Heureka-js-Client node- Frühling Wolke Netflix Support -

  • einen node.js Dienst in meinem Heureka-Server in Heroku Registrierung.

    Bis jetzt kann ich einen regulären Eureka-Client in meinem Eureka-Server in Heroku ohne Probleme registrieren. Aber ich bin immer mit der Konfiguration wirklich verwirrt, wenn sie mit node.js Service versuchen ...

    Ich dachte, Heureka-js-Client war die Lösung, kein Erfolg so weit ...

    unten-Code.

    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); 
    }); 
    

Zuerst habe ich versucht, lokal nach docker run -it -p 8761:8761 springcloud/eureka auf meine Docker-Konsole ausgeführt wird. Aber ich bekomme diese Fehlermeldung:

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 } 

, wenn ich es laufen, wie es von einem Heroku Dienst ist, ist es nicht ausführen :(:(

ich auch versucht, durch den Host für die URL meiner Heroku Substitution Heureka-Server, aber dann bekomme ich 401 oder 404 Fehler. Die EUREKA-Server ein Passwort erforderlich ist, die ich in meinem Heroku Client js hinzugefügt.

Irgendwelche Ideen?

Antwort

1

Sie benötigen einen instanceId umfassen, die eine eindeutige Kennung sein sollten dieser Instanz

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/', 
    }, 
}); 
Verwandte Themen