Nacos支持三种部署模式

1.单机模式--用于测试和单机试用

2.集群模式--用于生产环境,确保高可用

3.多集群模式--用于多数据中心场景

默认Nacos使用嵌入式数据库derby实现数据的存储。所以,如果启动多个默认配置下的Nacos节点,数据存储存在一致性的问题。为了解决这个问题,Nacos采用集中式存储的方式来支持集群化部署,目前只支持mysql的存储。

单机版使用MySQL存储:

在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力,具体的操作步骤:

  • 1.安装数据库,版本要求:5.6.5+
  • 2.初始化mysql数据库,数据库初始化文件:nacos-mysql.sql,安装nacos目录下的conf目录中。
  • 3.修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。
spring.datasource.platform=mysqldb.num=1db.url.0=jdbc:mysql://11.162.196.16:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=truedb.user=nacos_devtestdb.password=youdontknow

再以单机模式启动nacos,nacos所有写嵌入式数据库的数据都写到了mysql。




nacos集群使用的mysql需要实现主从吗_nacos 安装


nacos集群使用的mysql需要实现主从吗_nacos 安装_02


集群模式部署:

采用1个nginx+3个nacos注册中心,1个mysql


nacos集群使用的mysql需要实现主从吗_nacos单机模式启动_03


在这里简化,只使用了,一台nginx,一台mysql。

环境装备:

  • 64 bit OS Linux/Unix/Mac,推荐使用Linux系统;
  • 64 bit JDK 1.8+;
  • Maven 3.2.x+;
  • 3个或3个以上Nacos节点才能构成集群。

首先,下载Linux版本的nacos,地址:https://github.com/alibaba/nacos/releases,nacos-server-1.2.1.tar.gz,解压。

然后安装mysql,可以按照这篇文章安装,

安装完成,创建数据库:

REATE DATABASE IF NOT EXISTS nacos_config DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

导入sql脚本

use nacos_config;source /usr/local/nacos/conf/nacos-mysql.sql;

授权

grant all privileges on *.* to 'root'@'192.168.1.21' identified by 'root';

在nacos解压的目录中找到conf目录,在application.properties文件增加mysql的配置。添加如下配置:


nacos集群使用的mysql需要实现主从吗_nacos 安装_04


编辑Nacos的启动脚本startup.sh,使他能够接受不同的启动端口,模拟Nacos的集群。

平时单机版的启动,都是./startup.sh即可,但是集群启动,我们希望可以类似其他软件的Shell命令。传递不同的端口启动不同的nacos实例。

命令: ./startup.sh -p 3333表示启动端口为3333的nacos服务器。

nacos安装目录下的bin目录下有startup.sh。

在此处添加:


nacos集群使用的mysql需要实现主从吗_nacos单机模式启动_05

修改前


nacos集群使用的mysql需要实现主从吗_nacos启动命令_06

修改后


在此处添加:


nacos集群使用的mysql需要实现主从吗_nacos启动命令_07

修改前


nacos集群使用的mysql需要实现主从吗_nacos 安装_08

修改后


将conf目录下的cluster.conf.example copy一份并改为cluster.conf。并添加如下配置


nacos集群使用的mysql需要实现主从吗_nacos 集群_09


这时可以使用./startup.sh -p 3333, ./startup.sh -p 3334,./startup.sh -p 3335启动三个实例。


nacos集群使用的mysql需要实现主从吗_nacos 集群_10


安装Nginx,在这里不做详细的论述,之前写的文章也介绍nginx的安装和其他的内容,可以查看。

修改nginx的conf配置文件


nacos集群使用的mysql需要实现主从吗_nacos 配置_11


启动nginx,访问http://192.168.1.21:1111/nacos/


nacos集群使用的mysql需要实现主从吗_nacos 集群_12


至此nacos的集群已搭建完成。