springcloud的config组件使用

一、config组件支持两种配置文件获取方式
springcould搭建的微服务的配置文件的获取方式有两种。它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中或者本地数据源。在spring cloud config 组件中,分两个角色,一是config server,二是config client。

文章基于的版本说明:
spring boot版本 :2.0.1.RELEASE
springcloud版本:Finchley.M9

二、获取本地配置文件的注意事项
企业生产一般不推荐本地配置的方式,本地配置是的配置文件一般放在工程代码里,或者存放在Linux的服务器上。这种方式不易于后期配置文件的统一维护和安全管理。例如:如果是通用的数据库配置很可能需要在多个机器上重复配置,如果修改配置需要修改多个地方。等等。
为了知识的完整性,还是有必要了解一下这种配置方式。

(1)config-server的配置
作为测试,工程配置文件只写了两个config-client-dev.properties和config-client-test.properties
这里写图片描述
application.properties的参数配置:

spring.application.name=config-server
server.port=8888
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/

#设置配置文件在本地
spring.profiles.active=native
#设置配置文件的位置在工程根目录下
spring.cloud.config.server.native.searchLocations=classpath:/

(2)config-client的配置
bootstrap.properties中添加配置:
bootstrap文件是启动引导参数设置,不可以配置在application级别的配置文件(如application.*)中。

spring.application.name=config-client
server.port=8884
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/

#profile的值一般在启动脚本里动态指定,以便在不同的环境下启动时使用不同的启动参数,这里指定可以作为默认值(在没有指定的情况下)
spring.cloud.config.profile=dev
#指定config-server的访问路径
spring.cloud.config.uri= http://localhost:8888/

三、获取远程仓库配置文件的注意事项
(1)config-server的配置
application.properties的参数配置:

spring.application.name=config-server
server.port=8888
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/

spring.cloud.config.server.git.uri=https://github.com/zhangjun0001/springCloudFun/
spring.cloud.config.server.git.searchPaths=properties
spring.cloud.config.label=master
#我的远程仓库没有密码,所以没配置
spring.cloud.config.server.git.username=
spring.cloud.config.server.git.password=

(2)config-client的配置
bootstrap.properties的参数配置:

spring.application.name=config-client
server.port=8884

spring.cloud.config.label=master
spring.cloud.config.profile=dev
management.security.enabled=false

eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.serviceId=config-server

四、config-client-dev.properties和config-client-test.properties这两个配置文件的名称的特殊意义。

访问配置信息的URL与配置文件的映射关系如下:
http://localhost:8888/{application}/{profile}[/{label}].html

{application}-{profile}.yml
/{application}-{profile}.properties
例如:
http://localhost:8888/config-client/dev.html对应的配置文件是config-client-dev.properties

如果从远程仓库获取配置文件同样如此,只会多一个label的属性。
其中{label}对应Git上不同的分支,默认为master。

/{label}/{application}-{profile}.yml
/{label}/{application}-{profile}.properties

例如:
http://localhost:8888/config-client/dev/master.html对应的配置文件是mast分支下的config-client-dev.properties

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值