小编Joh*_*ohn的帖子

NodeJS中用于微服务的Netflix工具

NodeJS是否有服务发现(eureka),断路器模式(Hystrix),客户端负载平衡(ribbon)和api网关(Zuul)实现?我在Java的Spring框架中看到了这些组件的良好集成,但是在NodeJS中是否有可用的组件?

Netflix通过Prana(https://github.com/Netflix/Prana)为非JVM语言提供了另一种方法,但未得到积极支持。NodeJS是否有其他可供选择的生产就绪组件套件?理想情况下,微服务的好处之一是每种服务可以用不同的语言开发。有什么好的选择可用,还是我应该自己实现?

netflix node.js hystrix microservices netflix-eureka

5
推荐指数
0
解决办法
1081
查看次数

访问内部微服务

我有两个不同的微服务,使用 eureka 作为服务注册表,现在我试图从另一个调用微服务,使用功能区解析端点以进行客户端负载平衡。

服务一:

这个服务暴露了一个端点,http://localhost:15000/api/user/{userId},application.yml 如下,

# Spring properties
spring:
  application:
    name: user_microservice
  cloud:
    config:
      discovery:
        enabled: false

# HTTP Server
server:
  port: 15000  # HTTP (Tomcat) port



# Discovery Server Access
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
  instance:
    instanceId: ${spring.application.name}:${random.int}
    metadataMap:
      instanceId: ${spring.application.name}:${random.int}

logging:
  level:
    com.netflix.discovery: 'OFF'
    org.springframework.cloud: 'DEBUG'
Run Code Online (Sandbox Code Playgroud)

调用服务 A 的服务 B 具有以下应用程序类:

@EnableDiscoveryClient
@SpringBootApplication
public class UserSummaryApplication {

    public static void main(String[] args) {

        SpringApplication.run(UserSummaryApplication.class, args);
    }

    @Bean(name = "restTemplate")
    RestTemplate restTemplate() {
        return new RestTemplate(); …
Run Code Online (Sandbox Code Playgroud)

java spring spring-boot netflix-eureka netflix-ribbon

4
推荐指数
1
解决办法
2204
查看次数