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 配置中心源码解析之 项目结构的主要内容,如果未能解决你的问题,请参考以下文章