读取配置流程

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−

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

被折叠的 条评论
为什么被折叠?



