nacos的源码分析(一)-----初识项目结构

4,415 阅读2分钟

首先,在分析之前,了解下nacos是产生出和背景 首先引用nacos官网的原话

Nacos 致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式)的服务基础设施。 Nacos的版本是基于1.1.3,

大致分为以下模块:

  • address模块: 主要查询nacos集群中节点个数以及IP的列表.
  • api模块: 主要给客户端调用的api接口的抽象.
  • common模块: 主要是通用的工具包和字符串常量的定义
  • client模块: 主要是对依赖api模块和common模块,对api的接口的实现,给nacos的客户端使用.
  • cmdb模块: 主要是操作的数据的存储在内存中,该模块提供一个查询数据标签的接口.
  • config模块: 主要是服务配置的管理, 提供api给客户端拉去配置信息,以及提供更新配置 的,客户端通过长轮询的更新配置信息.数据存储是mysql.
  • naming模块: 主要是作为服务注册中心的实现模块,具备服务的注册和服务发现的功能.
  • console模块: 主要是实现控制台的功能.具有权限校验、服务状态、健康检查等功能.
  • core模块: 主要是实现Spring的PropertySource的后置处理器,用于加载nacos的default的配置信息.
  • distribution模块: 主要是打包nacos-server的操作,使用maven-assembly-plugin进行自定义打包,

下面就各个模块的依赖关系 画个图出来,

还有一个nacos-client模块是给用客户端依赖的,就没有体现在途中.

总结:
今天主要nacos的模块的关系进行一个简要的分析,接下来,就每一个模块进行详细的分析,