SpringCloudAlibaba快速入门(5)Nacos集群部署

写在前面的文章

官方集群部署说明文档 https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html

根据官方文档说明,Nacos的集群架构如下图所示

要搭建 Nacos 集群,则需要对数据进行集中式储存,
这部分操作在上一篇文章(SpringCloudAlibaba快速入门(4)Nacos数据持久化到数据库)中已经介绍,
接下来,我们根据官方文档进行实操。

实战

因为是用于学习,我们没有多台服务器可以使用,
所以本例将在单机上同时启动多个 Nacos 实例,每一个实例使用不同的端口。

启动三个 Nacos 实例构成集群,端口分别为 8848、8849、8850,然后使用 Nginx 对三台 Nacos 进行反向代理

第一步:安装 Mysql 数据库

第二步:初始化数据库
初始化脚本在 Nacos 程序包下的 conf 目录下的 nacos-mysql.sql 文件

第三步:配置 Nacos 数据源
修改 Nacos 程序包下 conf/application.properties 文件,添加 MySQL 数据源配置

文件中有示例,只需要打开注释并修改即可

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3316/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=test
db.password=123456

详细操作可以查看 SpringCloudAlibaba快速入门(4)Nacos数据持久化到数据库

第四步:配置集群
在 Nacos 程序包的 conf 目录下有一个 cluster.conf.example 文件,复制为 cluster.conf,内容为

127.0.0.1:8848
127.0.0.1:8849
127.0.0.1:8850

第五步:启动实例

因为本例需要在单机上启动多个 Nacos 实例,只是端口不一样,所以启动实例时,需要设置端口。

复制 startup.cmdstartup-8849.cmd,并设置端口

set "JAVA_OPT=%JAVA_OPT% -Dserver.port=8849"

复制 startup.cmdstartup-8850.cmd,并设置端口

set "JAVA_OPT=%JAVA_OPT% -Dserver.port=8850"

启动三个实例,这样 Nacos 集群已经配置完成,接下来使用 Nginx 进行反向代理。

第六步:配置 Nginx 反向代理

upstream nacosserver {
    server 127.0.0.1:8848;
    server 127.0.0.1:8849;
    server 127.0.0.1:8850;
}
...
server {
    listen  8080;
    server_name localhost;
    location /nacos/ {
        proxy_pass http://nacosserver/nacos/;
    }
}

这样就可以通过 localhost:8080/nacos 访问 Nacos 后台了。


版权声明:本文为gongm24原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。