【Spring Cloud Alibaba系列】深入 Nacos Config 实现原理

1,265 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

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来说,对外主要提供了配置的集中式管理功能,提供增删改查的访问接口来完成配置的基本操作。而从服务端角度,配置如何存储,以及是否需要持久化,对客户端需要通过接口从服务端获取到配置。

image-20211019220108004.png

注意点:

Nacos Server的数据存储默认采用的是Derby 数据库,也支持mysql数据库。

动态监听

Nacos Congfig Server 配置变化时,需要让相关的客户端感知配置的变化进而获取最新的配置,那Nacos 客户端如何实现配置修改时实现更新呢?