按照官方文档配置Cloud Config,遇到了其它服务获取config失败的问题,研究后发现是配置文件错误,具体细节如下:
①将Spring Cloud Config注册到Eureka中;
②其他服务通过Eureka获取config服务,并取得对应的值
问题就处在②中,按照文档所说,Eureka配置都是放在application.yml中,但是config的配置是先于application.yml的加载的,所以必须将Eureka的配置转移到bootstrap.yml中才可以正确获取到配置信息。
bootstrap.yml
spring:
cloud:
config:
name: application
profile: test
discovery:
enabled: true
service-id: ConfigServer
eureka:
client:
service-url:
defaultZone: http://localhost:8000/eureka
instance:
appname: ${spring.application.name}
instance-id: ${spring.application.name}:${random.value}