当前位置: 首页 > 知识库问答 >
问题:

Spring Cloud Netflix Eureka找不到eureka-js实例

郎宏浚
2023-03-14

我在Spring有3个微服务:

  • 网飞尤里卡
  • 制片人
  • 消费者

和另一个用Eureka-js-client用NodeJs编写的微服务

    null

List<ServiceInstance> instances=discoveryClient.getInstances("employee-producer");
    ServiceInstance serviceInstance=instances.get(0);
List<ServiceInstance> instances=discoveryClient.getInstances("node-microservice");
    ServiceInstance serviceInstance=instances.get(0);

const Eureka = require('eureka-js-client').Eureka;
const express = require('express');
const server = express();
server.use(express.json());
server.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next();
});
server.listen(3001);
server.get('/', function (req, res) {
    res.send("CIaooo");
});



// example configuration
const client = new Eureka({
    // application instance information
    instance: {
        app: 'node-microservice',
        hostName: 'localhost',
        ipAddr: '127.0.0.1',
        port:  {
            '$': 3001,
            '@enabled': 'true',
        },
        vipAddress: 'jq.test.something.com',
        statusPageUrl: 'http://localhost:3001/info',
        dataCenterInfo:  {
            '@class': 'com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo',
            name: 'MyOwn',
        }
    },
    eureka: {
        // eureka server host / port
        host: 'localhost',
        port: 8761,
        servicePath: '/eureka/apps/'
    },
});

client.logger.level('debug');

client.start(function(error){
    console.log(error || 'complete')});

我的代码怎么了?

共有1个答案

勾喜
2023-03-14

问题是在instance对象中,我没有编写instanceId(任何地方都没有提到)。我在抓取代码时发现了这个解决方案,并且在另一个项目中也有这个字段

instance: {
        app: 'node-microservice',
        instanceId: 'nodemicroservice',
        hostName: 'localhost',
        ipAddr: '127.0.0.1',
        port:  {
            '$': 3001,
            '@enabled': 'true',
        },
        vipAddress: 'nodemicroservice',
        statusPageUrl: 'http://localhost:3001/info',
        dataCenterInfo:  {
            '@class': 'com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo',
            name: 'MyOwn',
        },
        registerWithEureka: true,
        fetchRegistry: true
    },
 类似资料:
  • 我有一个python web应用程序,并在eureka使用restful api[https://github.com/Netflix/eureka/wiki/Eureka-REST-operations]注册,我在eureka网页上找到了它的状态UP,但我的网关服务器(也在eureka注册)找不到它,我调用url网关服务器-host/myapp-url",以下响应为: 通用域名格式。netfli

  • 我正在使用typecript和vue。 在我的应用程序中有一个,它对每个子组件都是全局的。 我在vue JS上找到了本机vue解决方案,将此属性注入子组件。 在main.ts 在任何typescript vue组件上 这样我就可以在我的子组件上获得注入的

  • 当我在Mac上的bash中运行jss时。我得到: 无法找到可执行文件在/库/Java /JavaVirtualMachines/jdk-17.0.2.jdk/Contents/Home/bin/jjs(-1) Java版本: JavaHotSpot(TM)64位服务器VM(构建17.0.2 8-LTS-86,混合模式,共享) 我试图通过finder找到JS,但什么也找不到。如何应对?

  • 使用最新的Springboot和MapStruct版本,并使用Maven构建,我试图实现官方MapStruct网站中给出的“从这里开始”示例 我的代码更简单: pom.xml 汽车JAVA 卡片to.java } 卡马珀。java接口 主要应用 所有代码均在本公开回购协议中:https://github.com/pgbonino/mappertest 运行时,我遇到以下错误: 我在官方的MapSt

  • 我知道这被问了好几次,但看起来我尝试的一切都不奏效。 我也是新手,如果我犯了任何错误,我很抱歉。 我尝试使用Gradle和eclipse构建java jar。 Gradle构建如下所示: 但我总是以: 在DefaultDependencyHandler类型的对象上找不到参数[org.springframework.boot: spring-boot-starter-data-jpa]org.gra