【问题标题】:Sidecar doesn't support multiple instances of one NON-JVM appSidecar 不支持一个 NON-JVM 应用程序的多个实例
【发布时间】:2017-02-21 06:41:27
【问题描述】:

我能够使用 netflix sidecar 应用程序成功注册单个 nodejs 应用程序实例。 nodejs 和 sidecar bridge 应用程序都在 Cloud Foundry 中运行。

结果:

SAMPLE-NODEJS n/a (1) (1) UP (1)

当我将 nodeJS 应用程序缩放到 3 个实例时,在 Eureka 服务注册表中看不到缩放后的实例。它仍然显示 1 个实例。

谁能帮我做这件事....

我想用 Sidecar 桥应用程序向 Eureka 服务注册表注册 Nodejs 应用程序的所有实例。

请..帮助。

问候 普兰达

【问题讨论】:

  • 下面是边车配置:
  • spring: application: name: Sample-NodeJS sidecar: health-uri: http:///health.json eureka: client: serviceUrl: defaultZone: ${vcap.services.eureka. credentials.url}/eureka/ healthcheck: enabled: true fetch-registry: true instance: instanceId: ${vcap.application.instance_id:${spring.application.name}:${spring.application.instance_id:${random.值}}}
  • 您是否还有 3 个用于 3 个不同节点的 sidecar 实例?
  • 不。只有一个 sidecar 应用程序和我的 nodejs 应用程序可以根据 Cloud Foundry 中的负载动态扩展

标签: spring-boot spring-cloud spring-cloud-netflix


【解决方案1】:

Sidecar,就像 eureka java 客户端一样,每次只能向 eureka 服务器注册一个应用程序。它不是多个应用程序的尤里卡代理。我建立了一个proof of concept proxy,它会做你想做的事。

【讨论】:

    【解决方案2】:

    发生这种情况是因为注册到 eureka 的不是您的节点应用程序,而是您的 sidecar,它仍然在一个实例中运行。

    简单的解决方案

    您可以使用节点应用程序扩展 Sidecar。这非常简单,尤其是在使用基于容器的部署时。你可以制作一个 docker 容器,同时启动一个节点实例和一个 sidecar。

    负载均衡

    您可以扩展您的 sidecar 应用程序以对您的 sidecar 的流量进行负载平衡。然后您的节点应用程序仍将显示为单个实例,但仍对扩展的节点实例进行负载平衡

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-15
      • 1970-01-01
      • 2016-05-25
      • 1970-01-01
      • 1970-01-01
      • 2017-05-27
      • 1970-01-01
      相关资源
      最近更新 更多