Java 跨多个服务器更新Springbean属性

Java 跨多个服务器更新Springbean属性,java,spring-boot,spring-cloud,Java,Spring Boot,Spring Cloud,下面是我的场景:我有一个名为APIBean的Springbean,它充当远程REST服务的API客户机。这个Bean包含一个名为hostName的属性,它是远程服务器的IP地址。当APIBean客户端进行REST调用时,此函数用作基本URI。此主机名属性的初始值从应用程序.properties中提取 我面临的挑战是主机名属性可能会更改。我有一个web表单,用户将在其地址更改时更新hostName属性。这在单实例环境中非常简单,但我的应用程序分布在AWS中,并在弹性负载平衡器后面 那么,我应该如何

下面是我的场景:我有一个名为APIBean的Springbean,它充当远程REST服务的API客户机。这个Bean包含一个名为hostName的属性,它是远程服务器的IP地址。当APIBean客户端进行REST调用时,此函数用作基本URI。此主机名属性的初始值从应用程序.properties中提取

我面临的挑战是主机名属性可能会更改。我有一个web表单,用户将在其地址更改时更新hostName属性。这在单实例环境中非常简单,但我的应用程序分布在AWS中,并在弹性负载平衡器后面

那么,我应该如何将此更改应用于此Spring Boot应用程序的所有其他实例呢

我已经研究了将application.properties外部化到集中式Git存储库的方法。它甚至包括一个/refresh端点,您可以通过POST请求来点击该端点,以更新带有RefreshScope注释的bean。但此端点仅刷新正在访问的单个实例。它不会影响任何其他分布式实例


这些框架非常好,我觉得解决方案很接近,但在最后一英里我需要一些帮助。这一定是分布式应用程序的常见开发问题。我们如何跨多台服务器更新SpringBean属性?

我想您正在寻找SpringCloudBus:。

这似乎可以解决问题。我会做一个旋转,并报告我的发现。谢谢你的建议。