2015-08-06 1 views
1

Я нашел это example о весеннем облаке на GitHub несколько дней назад.Как Spring Cloud Config загружает удаленные конфигурации для службы?

У меня возникли проблемы с получением примера службы конфигурации. Я не знаю, как правильно использовать config-microservice.

in this blog, он сказал, что конфигурации для ваших приложений микросервиса должны храниться в среде, а не в проекте.

Но я не уверен, как это сделать. Я не знаю, как один из микросервисов, например приложение movie-microservice Spring Boot получает конфигурационный файл от config-service.

+0

У меня есть пример. https://github.com/hanmin-github/spring-cloud-demo. в этом примере demo1-service, как использовать demo1.yml в https://github.com/hanmin-github/loving-config? – Jerry

+0

что конкретно ваша проблема здесь? Прочтите документы http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html, попробуйте настроить его, сохраните его простым - вам не нужно начинать, например, с службы обнаружения с самого начала. – freakman

+0

эй @freakman, я прочитал этот документ, есть такая конфигурация (spring.cloud.config.uri: http://myconfigserver.com). Я добавил конфигурацию в свой проект. но это не сработает. мой проект использует только конфигурацию loction и не переходит в конфигурацию удаленного чтения. – Jerry

ответ

1

Большой вопрос.

Прежде всего, убедитесь, что spring-cloud-starter-config находится на пути к классу ваших приложений, которые хотят использовать удаленную конфигурацию из службы конфигурации.

http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html#_client_side_usage

Лучший способ понять, действительно ли служба конфигурации правильно обслуживая конфигурации среды для приложения, чтобы включить проверку работоспособности.

В конфигурации конфигурации конфигурации обязательно включите следующее для одного из ваших приложений. Я добавил проверку работоспособности для службы movie с меткой master (указывая, что используется главная ветвь моего репозитория git).

spring: 
    cloud: 
    config: 
     server: 
     git: 
      uri: https://github.com/kbastani/spring-boot-microservice-config 
     health: 
      repositories: 
      movie: 
       label: master 

Теперь все, что мне нужно, чтобы убедиться в том, что мой репозиторий имеет конфигурацию, доступную для моего приложения с именем movie. Название этой конфигурации может быть movie.{properties|yml}. Я решил использовать yaml: https://github.com/kbastani/spring-boot-microservice-config/blob/master/movie.yml

Теперь, после того как вы запустили службу конфигурации, вы можете запустить проверку работоспособности, чтобы узнать, используется ли удаленный репозиторий.

$ curl http://localhost:8888/health

Это вернет следующий ответ:

{ 
    "status" : "UP", 
    "configServer" : { 
    "status" : "UP", 
    "repositories" : [ { 
     "sources" : [ "https://github.com/kbastani/spring-boot-microservice-config/movie.yml", "https://github.com/kbastani/spring-boot-microservice-config/application.yml" ], 
     "name" : "movie", 
     "profiles" : [ "default" ], 
     "label" : "master" 
    } ] 
    }, 
    "discoveryComposite" : { 
    "description" : "Spring Cloud Eureka Discovery Client", 
    "status" : "UP", 
    "discoveryClient" : { 
     "description" : "Spring Cloud Eureka Discovery Client", 
     "status" : "UP", 
     "services" : [ "configserver" ] 
    } 
    }, 
    "diskSpace" : { 
    "status" : "UP", 
    "total" : 498954403840, 
    "free" : 445484142592, 
    "threshold" : 10485760 
    }, 
    "hystrix" : { 
    "status" : "UP" 
    } 
} 

В настоящее время в службе кино, убедитесь, что следующая конфигурация устанавливается в bootstrap.yml.

spring: 
    application: 
    name: movie 
    profiles: 
    active: default 
    cloud: 
    config: 
     uri: http://localhost:8888 
    failFast: true 

Теперь начните обслуживание кино, убедившись, что первое, что служба конфигурации запущен и доступен в http://localhost:8888 и удаленной конфигурации будет использоваться для указанного профиля.

+0

Очень подробный, подумай! Чтобы решить мою проблему! – Jerry

Смежные вопросы