spring-cloud-alibaba-nacos config 2023
2024-03-28 16:51:46 0 举报
spring-cloud-alibaba-nacos-config是阿里巴巴集团在2023年发布的一款用于Spring Cloud框架与Nacos配置中心的集成组件。Spring Cloud Config是Spring Cloud家族的一个重要组件,用于为微服务应用程序提供外部配置管理。而Nacos则是阿里巴巴推出的一款集服务注册与发现、配置管理于一体的云原生服务中间件。spring-cloud-alibaba-nacos-config整合了这两大组件,使得开发者可以方便地在Spring Cloud应用程序中使用Nacos作为配置中心。
作者其他创作
大纲/内容
创建监听器,实现AbstractSharedListener当配置发生变更的时候会发送RefreshEvent事件
NacosFactory#createConfigService组装 Properties 并创建
NacosPropertySourceBuilder#build
ClientWorker.ConfigRpcTransportClient#executeConfigListen5s 执行一次
NacosConfigService#addListener添加了监听才算是获取数据了
loadApplicationConfiguration加载应用配置
在spring-cloud-context调用在spring容器刷新前调用设置环境变量
LocalConfigInfoProcessor#saveSnapshot保存到本地快照
NacosConfigBootstrapConfiguration
ServerListChangeEvent如果发生变更则发布事件
NacosConfigAutoConfigurationnacos自动化配置
NacosPropertySourceLocator
ClientWorker#addCacheDataIfAbsent
NacosDataParserHandler#parseNacosData解析配置信息
NacosContextRefresher#registerNacosListener
ConfigFilterChainManager创建并通过 spi 找到所有的 IConfigFilter
enableRemoteSyncConfig默认为 false 通过client 的定时任务进行获取
locate加载配置文件
CacheData#safeNotifyListener处理listener,主要是发送事件
loadNacosData
SecurityProxy#login5s登录一次,并保持登录信息
ClientWorker.ConfigRpcTransportClient#queryConfigInner
注入
ServerListManager#updateIfChanged
ConfigService#getConfig请求服务器获取配置
ServerListManager.GetServerListTask#GetServerListTask添加一个定时任务,30s执行一次
ServerListManager#getApacheServerList直接调用接口获取
ConfigTransportClient#start
ServerListManager#start
NacosContextRefresher#registerNacosListenersForApplications系统启动后注入监听器
ClientWorker.ConfigRpcTransportClient#refreshContentAndCheck
默认不刷新,如需刷新需要配置
RefreshEventListener会刷新spring容器,并加载配置详情看spring-cloud-context
ClientWorker.ConfigRpcTransportClient#queryConfigInner通过 GRPC 获取数据
NacosConfigManager
ClientWorker#getServerConfig添加 listener 的时候就获取数据
ClientWorker.ConfigRpcTransportClient#startInternal
会调用5次共享配置扩展配置${spring.application.name}${spring.application.name}.文件类型${spring.application.name}-profile.文件类型后面的覆盖前面的
loadNacosPropertySource
spring-cloud-alibaba 版本 2023Nacos 2.3
NacosContextRefresher
loadSharedConfiguration加载共享配置
ClientWorker#ClientWorker初始化工作线程池
true
ClientWorker#init设置超时时间
ConfigRpcTransportClient#checkListenCache
ClientWorker#addTenantListeners
NacosConfigManager#createConfigService
长轮询超时30s重试2s
@RefreshScope有这个注解的bean会被销毁在初始化
loadNacosDataIfPresent加载服务器配置
NacosConfigService通过构造器创建实例
CacheData#receiveNotifyChanged先都标记为 false
loadExtConfiguration加载扩展配置
0 条评论
回复 删除
下一页