vlambda博客
学习文章列表

nacos集群搭建和使用

前言


最近在使用springboot整合dobbu,实现微服务,发现了阿里还有一个注册中心叫做nacos,因此,想要使用nacos作为dubbo的注册中心,在这里将分享如何搭建nacos集群。


下载



原理


nacos实际是用java开发的springboot项目,有两种启动模式:集群模式和standalone模式。standalone模式是这样启动的,

#Linux/Unix/Mac 下sh startup.sh -m standalone

startup.sh和startup.cmd是在项目文件夹bin目录下的。

standalone模式使用的是内置数据库debay存放数据,因此,为了实现集群模式,那么就需要将集群内的信息使用共享数据库了。目前,据了解nacos只支持mysql数据库。


解压


将nacos-server-1.2.0.tar.gz文件解压,可以看到目录结构如下:


nacos集群搭建和使用

这里只展示bin和conf目录。


导入信息到mysql


conf目录下有个sql脚本,nacos-mysql.sql,执行这个文件就可以将数据导入mysql了。


修改配置


打开application.properties,该文件就是nacos的配置文件,数据库的配置也是写在这里。

# 指定数据源为Mysqlspring.datasource.platform=mysql
# 数据库实例数量db.num=1db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=truedb.user=rootdb.password=123456


修改集群主机配置


修改conf/cluster.conf,添加集群主机ip:port

#it is ip#examplelocalhost:8848localhost:8849localhost:8850


创建多个服务


将修改配置后的nacos服务复制两份,并修改项目启动端口号。端口号设置在配置文件application.properties中,nacos默认端口号是8848,另外两个服务的端口号改为8849、8850。

### Default web server port:server.port=8848
### 第二个服务端口号server.port=8849
### 第三个服务端口号server.port=8850


启动服务


集群模式启动命令直接执行脚本,linux下与standalone模式相比缺少-m standalone参数。

#Linux/Unix/Mac 下sh startup.sh


dubbo使用集群nacos


修改项目(springboot项目)中dubbo的配置,配置文件是application.properties为下面即可

dubbo.registry.address=nacos://127.0.0.1:8848?backup=127.0.0.1:8849,127.0.0.1:8850


控制台配置


由于有三台节点,因此,控制台需要使用nginx做代理和负载均衡,配置如下即可:

upstream nacos { server 127.0.0.1:8848; server 127.0.0.1:8847; server 127.0.0.1:8850;}

最后,就可以在控制台看到集群信息了,如下图:


总结


nacos搭建集群相比zookeeper还是简单点,只是将内置数据库改为共享数据库就行。