Spring Cloud Config 的端口 port 不是 8888 的时候的坑
2018-08-10 15:26
441 查看
上一篇文章 Spring Cloud 应用篇 之 Spring Cloud Config(配置中心)末留了一个尾巴,当你配置的配置中心的 server.port 不是 8888 的时候,其他服务就起不来了,从日志中可以发现,服务启动的时候,Fetching config from server at: http://localhost:8888,说明其他服务还是去 8888 这个默认端口取配置中心的文件,而不去你在 application.yaml 文件中配置的配置中心读取配置文件,这是什么原因呢?
其实这就是一个配置文件的优先级的问题,当服务启动的时候,它需要加载一些配置才能启动成功,而当你把配置信息放至配置中心的时候,启动服务首先就要去配置中心获取配置信息,然后加载这些信息才能成功启动。
当你的服务配置文件使用 application.yaml 文件时,服务启动还没到加载 application.yaml 文件那一步,所以并不会去你配置的注册中心里的配置中心读取所需要的配置信息,因为application.yaml 的优先级不高,而此时又需要一些配置信息(例如数据库的信息),系统才能继续往下执行启动,这个时候就需要使用 bootstrap.yaml 引导配置文件,使用这个配置文件时,服务在启动的时候就会先加载 bootstrap.yaml 配置文件,这样就会去你配置的注册中心里的配置中心读取配置文件信息,然后加载信息进行启动。
关于 bootstrap.yaml、application.yaml 的优先级可以查看这篇文章:
阅读更多相关文章推荐
- springcloud config
- spring-cloud-config-server——Environment Repository
- spring cloud学习——spring cloud config(一)
- Spring Cloud Config配置SVN:No valid credentials provided
- 学习微服务的统一配置管理-springCloud config+git
- 用Intelij idea 创建 Spring Boot项目一创建Module openfirein-cloud-config-servier(1-2)
- 史上最简单的SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)
- spring cloud config 配置自建git服务器报错解决
- Spring Cloud Config - RSA简介以及使用RSA加密配置文件
- Spring Cloud Config Client 超时与重试
- Spring Cloud Config Client超时及重试示例详解
- spring cloud config svn配置多个配置文件
- spring cloud config-server 高可用配置中心
- Spring Cloud Config-Git后端
- Spring Cloud Config服务器
- Spring Cloud Config采用数据库存储配置内容
- 在 Golang 项目中使用 Spring Cloud Config Server 管理配置
- Spring Cloud Config服务化后获取配置失败
- Spring Cloud Config教程(四)快速开始
- Spring-cloud Config Server 3种配置方式