springcloud系列之配置中心

概念

统一管理微服务的配置文件

 

微服务集成配置中心的架构图

 

配置文件格式

/{name}-{profiles}.properties
/{name}-{profiles}.yml
/{name}-{profiles}.json
/{label}/{name}-{profiles}.yml

 

name: 微服务名称

profile: 环境名称,如 dev, test, prod

label: 配置中心的分支名称,默认master

 

配置文件加载顺序

bootstrap.yml 优先级高于application.yml, 因此,集成配置中心后,要在boostrap.yml中填好配置中心的地址

 

 

使用过程

 

配置工程

在git 服务器上创建一下存放配置文件的工程,git 服务器可以使用自建服务器,或者直接从 github 上创建

 

如:在github上创建工程 config-center, 放了配置文件 user-consumer-dev.yml, 文件中的内容为 myconfig: v1

 

服务端

引入依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
</dependency>

 

启动类添加 @EnableConfigServer

 

服务启动后验证(省略基本过程):

 

客户端

引入依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-client</artifactId>
</dependency>

 

修改客户端(user-consumer)bootstrap 配置

#URL方式查找配置中心
spring.cloud.config.uri=http://localhost:9999/
#注册中心方式查找
#spring.cloud.config.discovery.enabled=true
#spring.cloud.config.discovery.service-id=config-center
spring.cloud.config.profile=dev
spring.cloud.config.label=master

 

服务启动时,会从配置中心加载 user-consumer-dev 相关的 json, properties, yml 文件

 

配置刷新 - bus

依赖 amqp 协议, 安装好erlang,和 rabbitmq即可使用

 

服务配置

配置文件

spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=admin
spring.rabbitmq.password=admin

 

依赖

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>

 

成功启动后,在 rabbitmq 控制台,可以看到增加了一个跟bus相关的队列

 

1. 可以通过配置心的 /actuator/bus-refresh 请求,动态更新所有服务的配置

2. 或者通过具体微服务的 /actuator/bus-refresh 请求,更新指定服务所有实例的配置

3. 也可以通过具体微服务的 /actuator/refresh 请求,更新指定服务指定实例的配置

 

对于第3点,需要以下2个操作:

1. 开启actuator中的refresh端点

2. 在使用动态配置的类上添加 @RefreshScope

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值