我在我的云配置-客户端应用程序中使用NodeJS来获得外部配置,比如Spring应用程序。如果我启动Node应用程序,它可以正常工作。
每当我推送任何新的配置或编辑回购中的配置属性时,我都希望在我的NodeJS应用程序中自动刷新配置。我的Spring应用程序在自动刷新方面运行良好,因为我使用了“spring bus”、“spring starter Stream-兔子”、“spring starter驱动器”、@auto刷新注释,并将我的spring引导应用程序绑定到RabbitMQ服务中。对于我的Node应用程序,我看上去也是一样的特性,但是我找不到关于这方面的任何好文章。
有谁能帮我,谁已经在他们的NodeJS客户端应用程序中使用了这种配置的自动刷新?从配置属性回购到配置服务器,它运行良好。当我使用应用程序访问配置服务器URL时,我可以看到这些新的配置,这是我在config repo中推动的。因此,现在唯一的问题是,我的Node客户端应用程序应该如何在不重新启动的情况下刷新自己。
发布于 2020-04-22 16:23:47
虽然无法找到正确的解决方案,但我做了一个解决办法。
我在我的/refresh客户端应用程序中添加了“NodeJS”端点,如果调用了这个端点,它将重新加载云配置。我将这个"/refresh“端点配置为当任何新的配置属性在config-repo中添加或编辑时,都将在Jenkins管道中调用。暂时它解决了我的问题。
但问题是,如果我的NodeJS客户端应用程序有多个实例运行在PCF上,那么如何使用新的/更新的配置刷新所有实例。在Spring应用程序中,这是通过使用“spring bus”和一些其他配置来实现的。如果您只有一个NodeJS客户端应用程序的实例,那么我现在的解决方法是可以的。如果您有客户端应用程序的多个实例(比如5个实例),那么这个解决方案将无法工作,因为上面提到的"/refresh“端点只会刷新5个实例中的一个实例。
有什么建议吗?按照上面的解决方法,我如何刷新所有客户端应用程序的实例?
https://stackoverflow.com/questions/61280340
复制相似问题