0

我在 AWS 中运行了 Spring Web 应用程序(不是 Spring Boot)。我正在尝试创建集中式配置服务器。更改属性后如何刷新spring-cloud-client?按照教程

通过向客户端的刷新端点http://localhost:8080/refresh发送一个空的 HTTP POST 来执行执行器端点,然后通过查看http://localhost:8080/message端点来确认它是否有效。

但是我的 aws Ec2 实例位于负载均衡器后面,因此我无法调用客户端 URL。我不太了解 netflix Eureka 和 Ribbon,但似乎在客户端添加了另一个级别的负载均衡器。我不喜欢这种方法。只是为了改变一个属性,我不想让现有项目变得不必要地复杂。还有其他方法吗?还是我误解了 Eureka/Ribbon 的用法?

我看过spring-cloud-config-client-without-spring-bootspring-cloud-config-client-without-auto-configuration他们都没有答案。第一个线程在 2015 年得到了回答。想知道有什么更新吗?

4

1 回答 1

1

从配置服务器获取配置属性。你可以做一个http请求。例子:

从文档中我们可以看到:

/{application}/{profile}[/{label}]
/{application}-{profile}.yml <- example
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties

因此,如果您向您发出请求,http://localhost:8080/applicationName-activeProfile.yml您将收到具有该名称和活动配置文件的应用程序的 .yml 格式的属性。Spring Boot 配置客户端会自动提供这些值,但您必须手动提供这些值。

你不需要 Eureka/Ribbon 来工作,它是一个单独的组件。更多信息:http ://cloud.spring.io/spring-cloud-static/spring-cloud.html#_spring_cloud_config

也许你甚至可以使用 spring-cloud-config 但我不确定没有 spring-boot 需要什么额外的配置。 https://cloud.spring.io/spring-cloud-config/

于 2016-08-26T06:13:39.557 回答