无法将Node.js微服务与Spring Boot应用程序(zuul服务器)连接

时间:2019-11-13 21:52:37

标签: node.js spring spring-boot netflix-eureka netflix-zuul

我正在尝试使用zuul服务器(api网关)将node.js微服务与spring boot应用程序连接。

zuul application.properties:

spring.application.name=api-gateway
hystrix.shareSecurityContext=true
eureka.client.service-url.default-zone=http://localhost:8761/eureka


zuul.routes.node-simple.serviceId=node-simple
zuul.routes.node-simple.path=/node-simple/**

zuul.routes.home.path=/home
zuul.routes.home.url=http://localhost:8080
zuul.sensitive-headers=Cookie,Set-Cookie
server.port=8080

Node js eureka配置

const client = new Eureka({
  instance: {
    id: appName,    
    instanceId: 'node',
    app: appName,
    hostName: 'localhost',
    ipAddr: '127.0.0.1',
    statusPageUrl: 'http://localhost:8200',
    port: {
      '$': PORT,
      '@enabled': 'true',
    },
    vipAddress: appName,
    dataCenterInfo: {
      '@class': 'com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo',
      name: 'MyOwn',
    }
  },
  eureka: {
    host: 'localhost',
    port: 8761,
    servicePath: '/eureka/apps/'
  }
});

当我尝试转到eureka上的zuul(api-gateway)的URL时,出现此错误:

  

负载均衡器没有可用于客户端的服务器:节点简单

2 个答案:

答案 0 :(得分:0)

这是我在zuul设置中拥有的配置。 zuul设置从Eureka服务器获取路由信息

zuul.sensitive-headers= Cookie,Set-Cookie
zuul.strip-prefix=false
zuul.debug.request=true

spring.application.name= zuul-server
eureka.instance.preferIpAddress=true
eureka.client.registerWithEureka=true
eureka.client.fetchRegistry=true
eureka.client.serviceUrl.defaultZone=${EUREKA_URI:http://localhost:8761/eureka}

以下是我的Eureka配置

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.server.enable-self-preservation=false

为了能够注册nodejs应用程序并在路由请求时跟随tutorial here找到它。实现与Eureka服务器的连接并维持通信

答案 1 :(得分:-1)

Netflix 的 Zuul 正在进行维护,请选择其他方法