配置中心与配置刷新

简介: 1、Config服务2、配置存储3、配置刷新4、分布式中,各服务的配置刷新

_

1、Config服务
spring-cloud-config的服务,实际上是server提供一个配置获取接口,client在调用接口时传入参数,触发server调用SQL进行查询,最终获取到配置参数的过程。我们在调用GET /quality-file/dev/dev时,会执行

SELECT qkey , qvalue FROM config_server where APPLICATION='quality-file' and QPROFILE='dev' and LABEL='dev'

2、配置存储
配置中心管理着各个配置参数,主要分为两类:各微服务公共的配置和特有的配置。
比如说,所有的微服务基本上都会调用数据库,数据库相关的配置可以放在公共的配置中。有时候,有些微服务使用到了ElasticSearch搜索引擎,这个配置就是此微服务特有的。随之而产生了一个问题,如何去区分是公共配置还是特有配置?
配置参数终归是数据,只不过是比较特殊的数据,既然是数据,就必须存储起来才能进行管理。spring-cloud-config提供的存储方式中比较流行的有git文件与DB两种,由于git在权限管理、配置颗粒度和灵活性上的劣势,此处只对DB方式进行讲解。
存储参数的表结构:
image

select key, value from config_server where application = ? and profile = ? and label = ?
application默认值是application,此时配置是公有的,如果填写微服务名,则为该微服务特有配置
profile,一般分为dev、test、debug几种
label,用来标记版本, v2.1

3、配置刷新
配置中心不会主动给各微服务提供参数,都是各微服务主动向配置中心请求获取参数。如果配置中心的参数发生改变,需要各微服务主动来拉取最新的配置参数。拉取完成后,微服务还需要把这些参数重新热加载一遍,才算完成一次配置的刷新。
首先,配置中心参数改变时,各微服务是如何感知的?配置中心通过广播的方式,一个一个的通知。
其次,微服务如何拉取参数的?GET configServerHost/actuator 接口获取的。
最后,参数如何重新热加载的?actuator模块对管理的配置参数,进行赋值

bus/refresh接口与actuator监控和管理能力
@RefreshScope

目录
相关文章
|
23天前
|
Dubbo 关系型数据库 MySQL
nacos常见问题之命名空间配置数据上线修改如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
92 1
|
23天前
|
网络安全 Nacos 数据安全/隐私保护
nacos常见问题之配置内容不显示也修改不了如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
92 0
|
6月前
|
缓存 Nacos 微服务
Nacos2.2.3版本,微服务注册上去了,然后关闭,注册实例还是显示健康,一直在那,要等大概一小时以后才消失
Nacos2.2.3版本,微服务注册上去了,然后关闭,注册实例还是显示健康,一直在那,要等大概一小时以后才消失,怎么解决?
139 1
|
6月前
|
Cloud Native Java Go
解决Nacos配置刷新问题: 如何启用配置刷新功能以及与`@RefreshScope`注解的关联问题
解决Nacos配置刷新问题: 如何启用配置刷新功能以及与`@RefreshScope`注解的关联问题
454 0
|
6月前
|
供应链
如何取消 SAP ALE 中已经配置的跨系统主数据验证
如何取消 SAP ALE 中已经配置的跨系统主数据验证
39 0
|
9月前
|
缓存 监控 测试技术
<5>SpringcloudConfig中configClient端不重启项目,手动刷新同步
上一篇博客搭建ConfigClient端写了configClient端从configServer端获取到数据,但是它会放到缓存中,不重启服务是不会重新去configClient获取的。
|
JSON 前端开发 JavaScript
前端重新部署如何通知用户刷新网页?
如果后端可以配合我们的话我们可以使用webSocket 跟后端进行实时通讯,前端部署完之后,后端给个通知,前端检测到Message进行提示,还可以在优化一下使用EvnentSource 这个跟socket很像只不过他只能后端往前端推送消息,前端无法给后端发送,我们也不需要给后端发送。
123 0
前端重新部署如何通知用户刷新网页?
|
Nacos 数据库 开发者
Naxos 配置中心(多配置文件加载2) | 学习笔记
快速学习 Naxos 配置中心(多配置文件加载2)
107 0
Naxos 配置中心(多配置文件加载2) | 学习笔记
|
Java API Nacos
sentinel 控制台控制客户端配置 | 学习笔记
快速学习 sentinel 控制台控制客户端配置
155 0
sentinel 控制台控制客户端配置 | 学习笔记