2015-06-26 125 views
1

我尝试设置spring云配置服务器,并使用github上提供的示例启动。 https://github.com/spring-cloud-samples/configserverSpring Cloud配置服务器excample - 在应用程序配置中覆盖

但是我对application.yml(https://github.com/spring-cloud-samples/configserver/blob/master/src/main/resources/application.yml)配置文件有些困惑。它是关于覆盖部分的配置文件'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/ 

为什么需要覆盖?基本上它与以下尤里卡设置中定义的相同。 我也没有找到任何有关覆盖在文档中。

非常感谢您的帮助

干杯 弗洛里安

+0

好问题,一目了然,关于覆盖属性的文档中没有任何内容出现。看看它的出现,它是一种覆盖客户端设置的方式。每个代码的评论:'额外的地图来源无条件地发送给所有客户' – code

回答

0

这不是不太一样它下面的配置。一方面,配置服务器不会将自己的配置发送给客户端(覆盖除外)。换另一种方式,请注意转义(\)以防止在发送给客户端之前解决占位符。这意味着客户端的尤里卡主机名(例如)是使用它自己的值CF_INSTANCE_IP构建而不是服务器的。

+0

因此,我以前见过的逃跑。 但是哪个客户端尤里卡客户端配置重写?它自己的或连接到云配置服务器的客户端? 基本上我会假设第二个选项(配置服务器客户端)是这种情况,否则我真的不明白为什么这是必需的。 –

+0

它最终被客户使用,所以后者,我想。 –