3Nacos 配置中心源码解析之 项目结构

Posted carl-zhao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3Nacos 配置中心源码解析之 项目结构相关的知识,希望对你有一定的参考价值。

Nacos 的 github 地址为:https://github.com/alibaba/nacos/。以下分析基于: Nacos 版本号:2.1.0。Nacos 一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

Nacos提供四个主要功能。

  • 服务发现和服务运行状况检查

    Nacos简化了服务注册和通过DNS或HTTP接口发现其他服务的过程。Nacos还提供服务的实时运行状况检查,以防止向不健康的主机或服务实例发送请求。

  • 动态配置管理

    Dynamic Configuration Service允许您跨所有环境以集中和动态的方式管理所有服务的配置。在更新配置时,Nacos消除了重新部署应用程序和服务的需要,这使得配置更改更加高效和敏捷。

  • 动态域名服务

    Nacos支持加权路由,使您更容易在数据中心的生产环境中实现中间层负载均衡、灵活的路由策略、流控制和简单的DNS解析服务。它帮助您轻松实现基于dns的服务发现,并防止应用程序耦合到特定于供应商的服务发现api。

  • 服务和元数据管理

    Nacos提供了一个易于使用的服务仪表板,以帮助您管理服务元数据、配置、kubernetes DNS、服务运行状况和度量统计数据。

下面我们来分析一下 Nacos 框架的包结构。在分析源码之前,我们先对这个框架有一个宏观的认识。

Nacos 包结构

+ nacos
	└ address                 # Nacos Address 服务
	└ api                     # Nacos 服务抽象 API
	└ auth                    # Nacos 授权相关接口,登陆、接口访问等
	└ client                  # Nacos Java Client
	└ cmdb                    # Nacos 内部配置管理相关
	└ common                  # Nacos Common 包:定义工具类,通用对象等   
	└ config                  # Nacos 动态配置实现
	└ consistency             # Nacos 最终一致性实现
	└ console                 # Nacos 控制台后台相关
	└ console-ui              # Nacos 控制台 UI 相关
	└ core                    # Nacos 核心包:包括一些工具类,分布式存储
	└ distribution            # Nacos 启动相关的配置信息
	└ example                 # Nacos 使用示例
	└ istio                   # Nacos 与 GRPC 集成
	└ naming                  # Nacos 命名服务,服务注册与发现
	└ plugin                  # Nacos 插件相关,包括:授权以及加密
	└ plugin-default-impl     # Nacos 授权默认实现
	└ sys                     # Nacos 系统相关的配置:包括集群单机模式以及系统参数
	└ test                    # Nacos 测试用例

使用 mvn clean install -Dmaven.test.skip=true 编译项目:

编译成功之后:启动 console 模块中 com.alibaba.nacos.Nacos 这个类的 main 方法。注意在虚拟机启动参数添加:-Dnacos.standalone=true 单机版本启动。

启动成功后,我们就访问 http://localhost:8848/nacos,并以 nacos/nacos 用户名密码进行登录了。


后续我们就可以很方便的进行 debug 查看源代码了。

以上是关于3Nacos 配置中心源码解析之 项目结构的主要内容,如果未能解决你的问题,请参考以下文章

3Nacos 配置中心源码解析之 项目结构

4Nacos 配置中心源码解析之 服务端启动

4Nacos 配置中心源码解析之 服务端启动

4Nacos 配置中心源码解析之 服务端启动

1Nacos 配置中心源码解析之 Hello World

1Nacos 配置中心源码解析之 集成 Spring Cloud