NodeJS Cloud外部配置AUTO REFRESH。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NodeJS Cloud外部配置AUTO REFRESH。相关的知识,希望对你有一定的参考价值。
我使用的是 云配置客户端 在我的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 客户端应用程序应该如何刷新自己而不需要重启。
虽然不能够得到适当的解决方案,我做了一个变通。
我在 NodeJS 客户端应用程序中添加了 "刷新 "端点,如果这个端点被调用,它就会重新加载云配置。我将这个 "刷新 "端点配置为每当在config-repo中添加或编辑任何新的配置属性时,就会在Jenkins管道中被调用。目前,它解决了我的问题。
但问题是,如果我的NodeJS客户端应用有多个实例在PCF上运行,那么如何用newupdated配置刷新所有实例。如果是Spring Boot应用,可以通过使用 "spring-cloud-bus-amqp "加上一些其他配置来实现。如果你只有一个NodeJS客户端应用程序的实例,我目前的变通方法是好的。如果你的客户端应用有多个实例(比如说5个实例),那么这个变通方案将无法工作,因为上面提到的 "刷新 "端点只会刷新5个实例中的一个实例。
有什么建议吗?按照上面的解决方法,我如何才能刷新客户端应用的所有实例?
以上是关于NodeJS Cloud外部配置AUTO REFRESH。的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Cloud Foundry 使用 Spring Boot 外部化配置
Spring Boot + Spring Cloud Config - 如何从 Git 外部配置添加更多配置文件
使用 Cloud Config Server 时的 Spring Boot 外部配置顺序?
在 Pivotal Cloud Foundry 上为 Spring Boot 应用程序外部化 Vault 令牌/后端配置