NodeJS Cloud外部配置AUTO REFRESH。

问题描述 投票:0回答:1

我使用的是 云配置客户端 在我的NodeJS应用程序中获取外部配置,比如Spring Boot应用程序。如果我启动Node应用程序,它可以正常工作。

我希望在我的应用程序中自动刷新配置。NodeJS 每当我推送任何新的配置或编辑 repo 中的配置属性时,Spring Boot 应用程序都能自动刷新,因为我使用了 "spring-cloud-bus"、"spring-cloud-starter-stream-rabbit"、"spring-boot-starter-actuator"、@AutoReference。我的Spring Boot应用程序在自动刷新时工作得很好,因为我使用了 "spring-cloud-bus"、"spring-cloud-starter-stream-rabbit"、"spring-boot-starter-actuator"、@AutoRefresh注解,并将我的Spring Boot应用程序与RabbitMQ服务绑定。我正在为我的Node应用程序寻找同样的功能,但我找不到任何好的文章。

有谁能帮我解决这个问题,谁已经在他们的NodeJS客户端应用中使用了这种自动刷新配置的功能?从config properties repo到config-server,都能正常工作。当我用应用程序访问config-server URL时,我可以看到我在config repo中推送的那些新配置。所以,现在唯一的问题是,我的 Node 客户端应用程序应该如何刷新自己而不需要重启。

node.js spring-cloud-config
1个回答
0
投票

虽然不能够得到适当的解决方案,我做了一个变通。

我在 NodeJS 客户端应用程序中添加了 "刷新 "端点,如果这个端点被调用,它就会重新加载云配置。我将这个 "刷新 "端点配置为每当在config-repo中添加或编辑任何新的配置属性时,就会在Jenkins管道中被调用。目前,它解决了我的问题。

但问题是,如果我的NodeJS客户端应用有多个实例在PCF上运行,那么如何用newupdated配置刷新所有实例。如果是Spring Boot应用,可以通过使用 "spring-cloud-bus-amqp "加上一些其他配置来实现。如果你只有一个NodeJS客户端应用程序的实例,我目前的变通方法是好的。如果你的客户端应用有多个实例(比如说5个实例),那么这个变通方案将无法工作,因为上面提到的 "刷新 "端点只会刷新5个实例中的一个实例。

有什么建议吗?按照上面的解决方法,我如何才能刷新客户端应用的所有实例?

© www.soinside.com 2019 - 2024. All rights reserved.