Nacos源码之三—接口读取配置

本文解析了Nacos配置读取的详细步骤,涉及读写锁操作,如何根据部署环境和存储选择读取源,以及配置文件持久化的缓存策略。重点讲解了在Nacos下线情况下如何获取配置的机制和简单读写锁实现。

读取配置流程

读取配置信息流程图

1、入口在ConfigController::getConfig()方法中;

2、获取读锁,如果获取成功,进行下一步,否则返回失败(小于表示正在写入(写锁),等于0表示没有配置数据,因为读锁可以重复获取);

3、根据groupKey获取缓存中的基础信息(isBeta,configType等信息);

4、根据部署方式(是否standalone)、使用的数据库是否是内置数据库 derby,来判断是否读数据库还是读文件;

5、返回数据库中的content信息(如果是查数据库),或者文件流内容。

需要注意的点

1、如果是standalone部署,并且使用的是内置数据库derby,则直接查询数据库中的数据,cache(ConcurrentHashMap);否则,读取nacos文件系统中(nacos/distribution/target/nacos-server-version/nacos/data/config−data/{version}/nacos/data/config-data/version/nacos/data/config

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伍六七AI编程

你猜你给我1分我要不要

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值