Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何从nodejs使用spring云?_Node.js_Spring Cloud_Service Discovery - Fatal编程技术网

Node.js 如何从nodejs使用spring云?

Node.js 如何从nodejs使用spring云?,node.js,spring-cloud,service-discovery,Node.js,Spring Cloud,Service Discovery,我现在正在考虑如何将SpringCloud与nodejs结合起来。 所以我想使用nodeJS作为中间层,它向前端angularjs应用程序提供api,但一旦nodeJS收到api请求,它就会向后端springapi触发其他http请求。 我注意到SpringCloud提供了很多非常好的特性,比如服务发现、配置服务器,但这些都是spring本身使用的。比方说,我如何在nodeJS中加载配置服务器结果,如果这可以通过json解析轻松完成,我如何使用nodeJS中的服务发现? 在spring项目中,我

我现在正在考虑如何将SpringCloud与nodejs结合起来。 所以我想使用nodeJS作为中间层,它向前端angularjs应用程序提供api,但一旦nodeJS收到api请求,它就会向后端springapi触发其他http请求。 我注意到SpringCloud提供了很多非常好的特性,比如服务发现、配置服务器,但这些都是spring本身使用的。比方说,我如何在nodeJS中加载配置服务器结果,如果这可以通过json解析轻松完成,我如何使用nodeJS中的服务发现? 在spring项目中,我可以使用:

InstanceInfo instance = discoveryClient.getNextServerFromEureka("spirent", false);
String url = instance.getHomePageUrl();
但如果我使用的是nodeJS,nodeJS如何从eureka服务中轻松找到下一个服务实例呢

希望听到你的建议和建议

坦率的

根据建议,我补充道

<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-netflix-sidecar</artifactId>
        <version>1.0.2.RELEASE</version>
    </dependency>
Eureka服务器上的Application.yml和bootstrap.yml与以前相同

    server:
  port: 8761

eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
  server:
    waitTimeInMsWhenSyncEmpty: 0
和bootstrap.yml:

spring:
  application:
    name: eureka
  cloud:
    config:
      uri: ${CONFIG_SERVER_URL:http://localhost:8888}
现在,Eureka客户端仍然可以注册此Eureka服务器,但当我访问时,得到的响应为空

所以我的问题是:sideCar能自动找到所有在Eureka服务器上注册的服务吗

就是这样做的。文件。您可以执行以下两种操作之一:

  • 您可以使用sidecar启用的自动zuul代理。您将向
    http://localhost:/
  • 您可以通过请求
    http://localhost:/hosts/

  • 谢谢@Spencergib,我已经更新了上面的帖子,你能帮我回答我的问题吗?你的应用看起来很有趣,
    @enableeruekaserver
    @EnableSidecar
    不应该在同一个应用上。sidecar应该作为一个进程在与nodejs应用程序相同的机器上运行。尤里卡应该去别的地方。您将需要带sidecar的
    @EnableDiscoveryClient
    。实际上,这是我的问题,@Spencergib,我的问题是nodeJS应用程序如何从Eureka服务器找到可用的微服务实例?比如说,我们在nodeJS服务器上安装了sideCar,并用sideCar注册nodeJS服务,这很好,但是如果nodeJS想知道其他微服务url,我不知道怎么做。我想也许我可以在spring中创建一个微服务,以便能够向nodeJS提供api,在这个微服务中,它将与Eureka服务器通信,找出下一个可用实例,然后将其发送回nodeJS应用程序,供nodeJS应用程序使用。这很好吗?嗨@Spencergib,我想使用FaignClient,但是我遇到了一个关于Faign/Logger not found的问题,我已经把它放到了另一个问题中,你能帮我看看吗?谢谢@user3006967侧车正是您在评论中描述的
    spring:
      application:
        name: eureka
      cloud:
        config:
          uri: ${CONFIG_SERVER_URL:http://localhost:8888}