2015-06-26 146 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

它最終被客戶使用,所以後者,我想。 –