我们不仅可以在服务器上运行一个nacos,还可以运行多个nacos,在服务器上搭建nacos集群环境,可以查看官方说明 (opens new window)

上图中下面部分的Nacos比便是三个nacos集群,SLB这里是内网,我们可以想成是Nginx

默认Nacos使用嵌入式数据库实现数据的存储。所以,如果启动多个默认配置下的Nacos节点,数据存储是存在一致性问题的。

为了解决这个问题,Nacos采用了集中式存储的方式来支持集群化部署,目前只支持MySQL的存储。

# 三种模式

nacos支持三种模式,详细请看 (opens new window)

  • 单机模式 - 用于测试和单机试用。
  • 集群模式 - 用于生产环境,确保高可用。
  • 多集群模式 - 用于多数据中心场景。

# 演示集群模式

这里使用一个Nginx,一个MySQL,三个nacos搭建一个nacos集群

# 1.执行sql

因为这里我们的数据,存储在MySQL中的,所以我们需要在MySQL中,创建所需的库和表,但是sql语句官方已经提供了,默认在nacos/conf/目录中

# 2.编辑application.properties

此文件也是在conf目录,在该文件中,加入下面内容

spring.datasource.platform=mysql
 
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
1
2
3
4
5
6

# 3.修改cluster.conf

在该文件中,增加以下内容,这里演示三台nacos

这个需要搭建几个nacos就写几个,注意这里得host不能使用localhost,上面的配置,也就是部署三台nacos机器,分别运行在3333,4444,5555这三个端口上

# 4.编辑startup.sh

编辑Nacos的启动脚本startup.sh,使它能够接受不同的启动端口,我们编辑的目的就是为了在执行startup.sh的时候,我们能够传入额外的参数,从而在不同端口启动

# 5.配置Nginx

配置Nginx的话,自行解决,也就是配置负载均衡,然后就可以了,这个就是搭建nacos集群模式的步骤