Spring Cloud Config Server excample - 覆盖应用程序配置

时间:2015-06-26 17:18:12

标签: spring-cloud

我尝试设置一个spring cloud配置服务器,并从github上提供的示例开始。 https://github.com/spring-cloud-samples/configserver

但是我对application.yml(https://github.com/spring-cloud-samples/configserver/blob/master/src/main/resources/application.yml)配置文件感到有点困惑。它是关于profile' latice'

的覆盖部分
spring:
  profiles: lattice
  cloud:
    config:
      server:
        overrides:
          eureka:
            client:
              serviceUrl:
                defaultZone: ${EUREKA_SERVICE_URL:http://localhost:8761}/eureka/
            instance:
              hostname: $\{CF_INSTANCE_IP:localhost}
              nonSecurePort: $\{CF_INSTANCE_PORT:$\{PORT:$\{server.port:8080}}}      
eureka:
  instance:
    hostname: ${CF_INSTANCE_IP:localhost}
    nonSecurePort: ${CF_INSTANCE_PORT:${PORT:${server.port:8888}}}
  client:
    serviceUrl:
      defaultZone: ${EUREKA_SERVICE_URL:http://localhost:8761}/eureka/

为什么需要覆盖?基本上它与下面的eureka设置中定义的相同。 我也没有找到有关文档中覆盖的任何内容。

非常感谢你的帮助

干杯 弗洛里安

1 个答案:

答案 0 :(得分:0)

它与它下面的配置并不完全相同。首先,配置服务器不会将自己的配置发送给客户端(覆盖除外)。另一方面,请注意转义(\)以防止在发送给客户端之前解决占位符问题。这意味着客户端的eureka主机名(例如)是使用自己的CF_INSTANCE_IP而不是服务器的值构建的。