Sidecar не поддерживает несколько экземпляров одного приложения, отличного от JVM

#spring-boot #spring-cloud #spring-cloud-netflix

#spring-boot #spring-cloud #spring-cloud-netflix

Вопрос:

Мне удалось успешно зарегистрировать один экземпляр приложения nodejs с помощью приложения netflix sidecar. Оба приложения nodejs и sidecar bridge работают в Cloud foundry.

Результат:

ПРИМЕР-NODEJS n / a (1) (1) ВВЕРХ (1)

Когда я масштабирую приложение NodeJS до 3 экземпляров, не удалось увидеть масштабированные экземпляры в реестре служб Eureka. Он по-прежнему показывает 1 экземпляр.

Может ли кто-нибудь помочь мне сделать это….

Я хочу зарегистрировать все экземпляры приложения Nodejs в реестре служб Eureka с помощью приложения Sidecar bridge.

Пожалуйста.. Справка.

С уважением, Пурандхар

Комментарии:

1. Ниже приведена конфигурация sidecar:

2. spring: application: name: Sample-NodeJS sidecar: health-uri: http://<домен>/health.json эврика: клиент: serviceUrl: defaultZone: $ {vcap.services.eureka.credentials.url}/эврика/ проверка работоспособности: включено: истинная выборка-реестр: истинный экземпляр: Идентификатор экземпляра: ${vcap.application.instance_id:${spring.application.name}:${spring.application.instance_id:${random.value}}}

3. У вас также есть 3 экземпляра sidecar для 3 разных узлов?

4. Нет .. только одно приложение sidecar и мое приложение nodejs могут динамически масштабироваться в зависимости от нагрузки в Cloud foundry

Ответ №1:

Sidecar, как и java-клиент eureka, создан для одновременной регистрации только одного приложения на сервере eureka. Это не прокси-сервер eureka для нескольких приложений. Я создал proof of concept прокси, который будет делать то, что вы хотите.

Ответ №2:

Это происходит потому, что в eureka регистрируется не ваше узловое приложение, а ваш sidecar, который все еще работает в одном экземпляре.

простое решение

вы масштабируете свои коляски с помощью приложений узла. Это довольно просто, в частности, при использовании развертывания на основе контейнеров. Вы просто можете создать контейнер docker, запустив как экземпляр узла, так и sidecar.

балансировка нагрузки

вы можете расширить свое приложение sidecar, чтобы сбалансировать нагрузку на свои sidecars. Тогда ваши приложения узла по-прежнему будут отображаться как один экземпляр, но по-прежнему будут иметь балансировку нагрузки для масштабируемых экземпляров узла