Nacos简介
由于本人能力有限,错误的地方或者不好的地方欢迎指出来
1、简介
Nacos官网 https://nacos.io/zh-cn/index.html
Github https://github.com/alibaba/nacos
Nacos是Dynamic Naming and Configuration Service的首字母简称
Nacos由阿里巴巴开源,经过10年双十一的高并发考验。支持具有数百万服务的大规模场景。
使用Java语言编写,包含 服务管理
和 配置管理
两大功能
本系列针对Nacos2.x版本讲解
2、源码下载
首先从github下载源代码
git clone https://github.com/alibaba/nacos.git
环境准备
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
ls -al distribution/target/
// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin
启动Nacos
startup.cmd -m standalone
sh startup.sh -m standalone
bash startup.sh -m standalone
关闭Nacos
sh shutdown.sh
shutdown.cmd
3、Nacos源码模块介绍
- nacos-address:地址服务
- nacos-api:对外提供的api接口
- nacos-auth:Nacos鉴权功能
- nacos-client:Nacos客户端,完成服务注册发现、由SpringBoot、SpringCloud调用。
- nacos-cmdb:与其他数据库厂商打通
- nacos-common:公共工具类
nacos-config:Nacos配置中心模块
nacos-consistency:Nacos一致性模块
- console-ui:Nacos后台管理的前端代码
nacos-core:插件机制、事件机制、日志模块、回调机制、寻址机制、传输通道、容量管理、流量管控、缓存机制、启动模式
- nacos-distribution:集群方式的启动、停止Nacos脚本,配置文件。
- nacos-example:各种功能的demo
- nacos-istio:对istio的支持、如k8s等
nacos-naming:Nacos服务管理模块/服务注册与发现
- nacos-plugin:Nacos插件模块
- nacos-plugin-default-impl:Nacos插件模块 实现的一个示例
- nacos-sys:提供操作系统相关的类、工具类
- nacos-test:nacos的单元测试
4、Nacos核心模块介绍
用户通过NacosSDK、控制台、Nacos接口 与NacosServer交互。
NacosNaming和NacosConfig依赖了Nacos-Core只需要负责实现自己的代码。
Nacos-core为Nacos核心模块,实现了插件机制、事件机制、日志模块、回调机制、寻址机制、传输通道、容量管理、流量管控、缓存机制、启动模式等。
Nacos将存储层与一致性层抽离了出来,供上层的服务注册发现模块和配置中心模块使用。