【问题标题】:How to do client side load balancing for discovered microservices in nodejs如何为nodejs中发现的微服务进行客户端负载平衡
【发布时间】:2017-06-05 09:35:41
【问题描述】:

我们正在尝试在一个使用 java/spring boot 编写的其他微服务的环境中使用 nodejs 构建一个微服务。

其他微服务使用 consul.io 进行服务发现,使用 Ribbon 进行客户端负载平衡。 (即:spring-boot、spring-cloud-starter-consul-discovery、spring-cloud-starter-feign 和 spring-cloud-starter-ribbon 项目)

现在,在这个组合中,我们有一个consul node module 来注册或发现服务,但剩下的呢?如何在客户端处理负载平衡的情况下进行发现感知休息调用,类似于功能区。

如何在节点的堆栈中实现这一点?

【问题讨论】:

  • 我找不到合适的解决方案。现在已经开始自己做一个项目;命名: sarathi (npmjs.com/package/sarathi):服务发现感知,声明性的休息客户端与客户端负载平衡。将其留在这里,希望其他人有答案并发布;而这个项目至少获得了基本功能。

标签: node.js microservices netflix-ribbon


【解决方案1】:

这有用吗? https://www.npmjs.com/package/resilient

它说:Resilient 在概念上类似于 Netflix 的项目 Ribbon。

【讨论】:

    【解决方案2】:

    我想我应该暂时关闭它,已经有一段时间了。就像我在上面的评论中所说的那样,我已经为 Feign、Ribbon 构建并使用了逻辑对应物,具有对服务发现框架的可扩展支持(目前可用于 consul.in 的插件),具有不同的负载平衡策略和类似的声明性 API 映射Spring Boot 中的 feign 接口、可配置的重试、流畅的 API 和对 hystrix 的支持。这是一系列节点模块:https://www.npmjs.com/search?q=Sarathi

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-11
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-03
      相关资源
      最近更新 更多