前言
Nacos是阿里巴巴推出的一款框架,集成了注册中心和配置中心 ,nacos安装部署比较简单,概念也比Apollo配置中心简单,这里简单记录属性下
一、官网下载
Nacos Server 下载 | Nacoshttps://nacos.io/download/nacos-server/
二、启动nacos
nacos的启动方式比较简单
下载下来的压缩包解压后进入bin目录,执行脚本(Windows执行cmd脚本)
直接执行startup.cmd命令 会报错(因为集群模式启动配置文件需要做点修改)
1 standalone 模式启动
startup.cmd -m standalone
启动成功( use embedded storage),这里配置信息就没用到数据库存储了
到这里我们就考虑一个问题,nacos自身是怎样区分配置中心模块是否使用外部存储(数据库)的呢,
我们来看下源码,nacos有关于配置中心的功能都在Config项目中
ConfigController 处理配置中心模块相关的功能,跟踪代码我们发现配置中心有依赖到ConfigInfoPersistService ConfigInfoTagPersistService ConfigInfoBetaPersistService这三个Service来实现底层逻辑 ,这里每个Service都有两套实现
具体是通过ConditionOnEmbeddedStorage这个条件注解实现的
@Conditional(value = ConditionOnEmbeddedStorage.class)
继续跟踪这个条件注解,可以判断这里是判断有没有系统属性nacos.standalone 并且值为true
我们再来看看前面的启动脚本
2 cluster 模式启动
默认就是cluster模式,我们需要在配置文件中陪下数据库,脚本文件可以在nacos源码中找到啦
这里先建好了数据库
配置文件默认是注释掉了数据库相关配置,我们把它放开
发现还是报错
这里也网上也找到了答案,在conf目录新建一个cluster.conf文件(具体还没清楚为啥这样做 还得细看下源码吧)
启动成功了
访问路径启动日志里面已经打印出来了(注意登录用户名密码 默认都是nacos)
这样我们就可以上手操作下熟悉下nacos里面的概念了
三、源码方式安装nacos
有些时候我们要对nacos做定制化开发的时候就需要修改源码后再编译部署了
https://github.com/alibaba/nacos
github打不开的话也可以去码云下载
这里下载了源码,用idea打开
编译的话 BUILDING 这个文件告诉我们怎么操作了,主要是最后一步
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
执行maven命令后看到distribution target目录,跟官网下载下来的压缩包目录结构是一样的