Spring boot SpringCloudConfig如何下载服务的远程配置?
几天前,我在GitHub上发现了关于SpringCloud的内容 我在使用配置服务示例时遇到一些问题。我不知道如何正确使用Spring boot SpringCloudConfig如何下载服务的远程配置?,spring-boot,spring-cloud,microservices,Spring Boot,Spring Cloud,Microservices,几天前,我在GitHub上发现了关于SpringCloud的内容 我在使用配置服务示例时遇到一些问题。我不知道如何正确使用config microservice ,它说microservice应用程序的配置应该存储在环境中,而不是项目中 但我不知道该怎么做。我不知道其中一个微服务,例如一个电影微服务Spring Boot应用程序是如何从配置服务获取配置文件的,这是一个很好的问题 首先,确保springcloudstarterconfig位于希望从配置服务使用远程配置的应用程序的类路径上 了解配
config microservice
,它说microservice应用程序的配置应该存储在环境中,而不是项目中
但我不知道该怎么做。我不知道其中一个微服务,例如一个电影微服务
Spring Boot应用程序是如何从配置服务
获取配置文件的,这是一个很好的问题
首先,确保springcloudstarterconfig
位于希望从配置服务使用远程配置的应用程序的类路径上
了解配置服务是否正确地为应用程序的环境配置提供服务的最佳方法是启用运行状况检查
在配置服务配置中,确保为您的应用程序之一启用以下功能。我已经为电影
服务添加了一个健康检查,标签为master
(指示使用我的git存储库的master分支)
现在,我需要确保我的git存储库有一个名为movie
的配置可用于我的应用程序。此配置的名称可以是movie.{properties | yml}
。我选择使用yaml:
现在,在启动配置服务后,您可以运行运行状况检查以查看是否正在使用远程存储库
$curlhttp://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
,远程配置将用于指定的配置文件。我有一个例子。在本例中,demo1服务如何在中使用demo1.yml?您的问题到底是什么?阅读文档,尝试对其进行配置,保持简单-例如,您不必从一开始就使用discovery service。嘿@freakman,我已经阅读了这些文档,有一个类似这样的配置(spring.cloud.config.uri:)。我在我的项目中添加了配置。但它不起作用。我的项目只使用位置配置,没有进入远程阅读配置。非常详细,非常感谢!来解决我的问题!
spring:
application:
name: movie
profiles:
active: default
cloud:
config:
uri: http://localhost:8888
failFast: true