概述
nacos,阿里开源的注册中心+配置中心,采用独立部署模式,有一个友好的前端界面,对于服务下线,修改配置等这些操作都可以通过前端界面完成,非常方便,截止到目前nacos最新的版本是V1.2.1,生产上已经有很多公司在使用了,包括我司,本文作为介绍nacos源码系列的第一篇,主要起一个抛砖引玉的作用,小弟也是第一次写源码解析相关文章,水平有限,希望大佬包涵。
环境搭建
以下为我正在使用的环境
idea: 2019
maven: 3.5
jdk: 1.8
源码下载
git地址:https://github.com/alibaba/nacos.git
大家可以先fork到自己的仓库中,之后改动,做注释之类的提交比较方便。
源码结构介绍
api: 接口定义
client: 这个就是程序中引入的,用于访问nacos注册中心和配置中心的服务端
config: 配置中心服务端代码
naming:注册中心服务端代码
core:把config和naming部分公共代码抽取出来,config和naming都依赖于这个包
console: 这个依赖于naming和config,nacos有一个前端,就是和这个直接交互的
剩下的一些非核心的代码就不介绍了,我也没有仔细看。
启动
把代码导入到idea中,使用maven构建,下载所需要的jar包需要一段时间,之后找到nacos-console模块,该模块是一个springboot项目,然后在idea中配置启动参数-Dnacos.standalone=true,在单机模式下启动,当然也可以在集群模式下启动,不过需要初始化mysql数据库,作为初次启动还是使用单机模式吧。
之后就可以打开example文件了,这个里面有两个测试demo,分别是访问注册中心和配置中心的,下面的文章就会通过这个入口来看客户端是怎么访问注册中心和配置中心的。
总结
看了几个关于nacos源码的博客,很多大佬都说nacos源码很简单,但是我看了之后决得没有那么简单,里面有很多之前没有见过的,总的来说发时间还是可以搞懂的。