Node.js 如何从nodejs使用spring云?
我现在正在考虑如何将SpringCloud与nodejs结合起来。 所以我想使用nodeJS作为中间层,它向前端angularjs应用程序提供api,但一旦nodeJS收到api请求,它就会向后端springapi触发其他http请求。 我注意到SpringCloud提供了很多非常好的特性,比如服务发现、配置服务器,但这些都是spring本身使用的。比方说,我如何在nodeJS中加载配置服务器结果,如果这可以通过json解析轻松完成,我如何使用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项目中,我
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服务器上注册的服务吗 就是这样做的。文件。您可以执行以下两种操作之一:
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}