小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
Nacos Config 实现原理解析
Nacos Config 对配置管理提供了4种操作,而这四种操作,Nacos提供了SDK及Open API的方式访问。
- 获取配置,从Nacos Config Server 中读取配置
SDK:
public String getConfig(String dataId,String group,long timeMills) throws NacosException;
API:
/nacos/v1/c/configs(get)
-
监听配置:订阅配置,当配置发生变化时收到一个事件
SDK: public void addListener(String dataId,String group,Listener listener); API: /nacos/v1/cs/configs(POST) -
发布配置:将配置保存到Nacos Config Server中
SDK:
public boolean publishConfig(String dataId,String group,String content) throws Nacosexception;
API:
/nacos/v1/cs/configs
- 删除配置:删除配置中心部分配置
SDK:
public boolean removeConfig(String dataId,String group) throws NacosException;
API:
/nacos/v1/cs/configs(DELETE)
从总体上来看,分为两种类型是配置新增、修改、删除、查询和配置动态监听。
配置增删改查
对Nacos Config来说,对外主要提供了配置的集中式管理功能,提供增删改查的访问接口来完成配置的基本操作。而从服务端角度,配置如何存储,以及是否需要持久化,对客户端需要通过接口从服务端获取到配置。
注意点:
Nacos Server的数据存储默认采用的是Derby 数据库,也支持mysql数据库。
动态监听
Nacos Congfig Server 配置变化时,需要让相关的客户端感知配置的变化进而获取最新的配置,那Nacos 客户端如何实现配置修改时实现更新呢?