NodeJS Облачный внешний конфиг AUTO REFRESH - PullRequest
0 голосов
/ 17 апреля 2020

Я использую cloud-config-client в моих NodeJS приложениях для получения внешней конфигурации, например Spring Boot. Это работает нормально, если я запускаю приложение Node.

Я искал автоматическое обновление sh конфигурации в моем приложении NodeJS всякий раз, когда я пу sh любой новой конфигурации или отредактируйте свойства конфигурации в репо. Мои приложения Spring Boot отлично работают для автоматического refre sh, потому что я использовал "spring-cloud-bus", "spring-cloud-starter-stream-rabbit", "spring-boot-starter-activator", @ AutoRefre sh аннотации и привязал мое весеннее загрузочное приложение к сервису RabbitMQ. Я искал такую ​​же функцию для моего приложения Node, но не смог найти ни одной хорошей статьи по этому вопросу.

Может ли кто-нибудь помочь мне в этом, кто уже использовал этот вид автоматического обновления sh конфигурации для своих NodeJS клиентское приложение? От настроек конфигурации репо до конфиг-сервера все работает нормально. Я вижу те новые конфигурации, которые я вставил в репозиторий config, когда я получаю доступ к URL-адресу config-server через приложение. Итак, теперь единственное, что мое клиентское приложение Node должно обновлять sh без перезапуска.

1 Ответ

0 голосов
/ 22 апреля 2020

Не имея возможности найти правильное решение, я сделал один обходной путь.

Я добавил конечную точку "/ refre sh" в мое клиентское приложение NodeJS, где оно перезагружает конфигурацию облака, если эта конечная точка получила называется. Я настроил эту конечную точку "/ refre sh" для вызова в конвейере Jenkins всякий раз, когда какие-либо новые свойства конфигурации добавляются или редактируются в config-repo. На данный момент это решило мою проблему.

Но проблема в том, что, если у моего клиентского приложения NodeJS есть несколько экземпляров, работающих на PCF, то как обновить все экземпляры с помощью новой / обновленной конфигурации. В случае приложения Spring Boot это достигается с помощью «spring-cloud-bus-amqp» и некоторых других конфигураций. Мой текущий обходной путь хорош, если у вас есть только один экземпляр NodeJS клиентского приложения. Если у вас есть несколько экземпляров (скажем, 5 экземпляров) вашего клиентского приложения, то это временное решение не будет работать, потому что вышеупомянутая конечная точка "/ refre sh" просто обновит sh один экземпляр из 5.

Есть предложения? В соответствии с описанным выше обходным путем, как я могу обновить все экземпляры клиентского приложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...