iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 15
0
Software Development

.Net微服務輕旅行30天系列 第 15

Day 15 Steeltoe OSS提供的Config Server(2)

  • 分享至 

  • xImage
  •  

系統上很簡單 application透過config server連到指定的Github讀取"遵照命名規則"的檔案
https://ithelp.ithome.com.tw/upload/images/20180103/201078672nkwuZ1fwD.png

這篇來看一些設定的部分

config server指向SteeltoeOSS的Github,總不能發PR請他們改檔案內容吧

當然可以指向自己設定的Github(或是檔案位址),而且不用重編譯Java
直接用notepad++開啟設定檔 configserver\src\main\resources\application.yml

server:
  port: 8888

management:
  context-path: /admin
  
logging:
  level:
    com.netflix.discovery: 'OFF'
    org.springframework.cloud: 'DEBUG'
    
eureka:
  instance:
    leaseRenewalIntervalInSeconds: 10
    statusPageUrlPath: /admin/info
    healthCheckUrlPath: /admin/health

spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/steeltoeoss/config-repo

---
spring:
  profiles: cloud
eureka:
  password: password
  instance:
    hostname: ${vcap.application.uris[0]}
    nonSecurePort: 80
  client:
    serviceUrl:
      defaultZone: ${vcap.services.${PREFIX:}eureka.credentials.uri:http://user:${eureka.password:}@${PREFIX:}eureka.${application.domain:cfapps.io}}/eureka/

更改localhost port的設定就在 port: 8888

更改遠端的Github repo就處理這行 uri: https://github.com/steeltoeoss/config-repo

Github repo裡設定檔那麼多程序怎知道要讀哪個

關於這個問題就要先來看一下sample裡面的設定

SimpleCloudFoundry\appsettings.json

{
  "spring": {
    "application": {
      "name": "bar"
    },
    "cloud": {
      "config": {
        "uri": "http://localhost:8888",
        "validate_certificates": false
      }
    }
  },
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  }
}

舉例來說
注意 "name":"bar" 代表這個application 名字是bar,所以會去讀github repo裡的bar.properties
若為"name":"foo"就會去讀foo.properties, 在加上環境變數ASPNETCORE_ENVIRONMENT為development,就會多讀foo-development.properties

config server的位址則是以下
"cloud": {
"config": {
"uri": "http://localhost:8888"
如果在config server的application.yml有改設定,這邊記得也要更改

專案底下有一個 SimpleCloudFoundry\config-server.json
雖然裡面也有類似組態Github repo的位址,但config-server.json不適用於Config Server,而是給cloud Foundry使用
´´´
{
"git" : {
"uri": "https://github.com/spring-cloud-samples/config-repo"
}
}
´´


上一篇
Day 14 Steeltoe OSS提供的Config Server(1)
下一篇
Day 16 Steeltoe OSS提供的Config Server(3)
系列文
.Net微服務輕旅行30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言