原创/朱季谦
nacos是一款易于构建云原生应用的动态服务发现、配置管理和服务管理平台,简单而言,它可以实现类似zookeeper做注册中心的功能,也就是可以在springcloud领域替代Eureka、consul等角色,同时,还可以充当springcloud config配置中心的功能,当然,还可以替代Spring Cloud Bus做消息总线的功能,你看,他一个人就能干多份活,如果你是老板,你会不喜欢这样的员工吗?
在springcloud alibaba框架当中,使用nacos替代springcloud config做配置中心已经是主流趋势,我虽在工作当中用过该组件,但一直没有自行搭建与总结过,故而就从搭建nacos集群开始。
一、首先,你需要一个安装包
我在自行搭建的项目里,使用到的是nacos-server-1.1.4.tar.gz稳定版本的包,目前已经更新到1.4了,若要用最新包,可自行官网下载,或者直接用我存放到网盘上的——
链接:百度网盘 请输入提取码
提取码:iacp
二、需要准备三台虚拟机
192.168.200.160:8848
192.168.200.161:8848
192.168.200.162:8848
三、配置nacos集群
将nacos安装包分别上传到三台服务器上,解压后,进入到/nacos/conf目录,通过以下指令修改下cluster.conf文件——
cp cluster.conf.example cluster.conf
接着,在cluster.conf文件里写入以下ip:port,代表集群的三个节点信息——
192.168.200.160:8848
192.168.200.161:8848
192.168.200.162:8848
需要分别在三台机器上都分别进行以上操作,当然,你也可以修改一份,然后直接scp复制到另外两台机器上。
四、配置持久化存储
作为配置中心的nacos,可以通过mysql存储其配置信息,故而,需要设置mysql的配置。
nacos安装包里,已经有现成的sql初始化文件,同样在/nacos/conf目录——
直接拷贝下来,在数据库里新建一个名为nacos的库,然后在该库里执行nacos-mysql.sql即可。
执行完后,把数据库连接信息配置到/nacos/conf/application.properties文件里即可,例如——
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?useUnicode=true&characterEncoding=UTF-8&ueSSL=false&serverTimezone=GMT%2B8
db.user=root
db.password=zhu123456
同样,该操作需要在每个节点重复进行一次。
五、启动nacos集群
分别启动三台虚拟机/nacos/bin目录下的startup.sh脚本,启动成功后,查看/nacos/logs/start.out日志信息,显示如下,则表示启动成功了——
六、登录nacos控制台
访问路径http://192.168.200.160:8848/nacos/,默认账户秘密是nacos/nacos
在集群管理/节点列表看到已经生效的集群节点信息,其中192.168.200.160服务是leader节点,其余为follower节点,这点与zookeeper集群一样。