系列学习 SpringCloud-Alibaba 框架之第 3 篇 —— Nacos mysql支持、搭建集群

1、mysql支持

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

1、初始化 MySQL 脚本(MySQL 版本要求 5.6.5+)

在 nacos 的 conf 目录下,有一个 nacos-mysql.sql 文件,里面是数据库初始化脚本。

 执行完之后如图:

 2、修改数据源配置

修改 conf/application.properties文件,增加支持 mysql 数据源配置(目前只支持mysql),在结尾添加mysql数据源的url、用户名和密码。

# MySQL 数据库配置
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root

 重启 nacos 服务即可。

3、验证

我们在【权限控制】->【用户列表】里创建一个新用户,如图:

 然后打开 MySQL 数据库验证:

完美  perfect!

2、搭建集群

单机模式 - 用于测试和单机试用。
集群模式 - 用于生产环境,确保高可用。

单机版环境下,我们可以使用 nacos 默认的嵌入式数据库即可,但是集群环境下,是不能使用默认的配置的,这时候就需要 MySQL 做支持,让集群中的 nacos 注册中心连接到相同的数据库即可

集群至少需要搭建 3 台 nacos 服务器。

1、复制 3 份 nacos 文件

我们按照 nacos 的目录复制出 3 份,待会端口号依次是:8849、8859、8869注意这里使用之前配置好 MySQL 数据源的文件夹,也就是 nacos。如果不是的话,那就每个目录都配置 MySQL 数据源即可。注意:nacos 2.0 以后,会占用两个连续端口: ${server.port} 和 ${server.port} + 1,也就是不能使用连续的端口号做集群!(否则报错:Address already in use: bind

2、依次修改每份 nacos 的 conf 目录,增加 cluster.conf 文件

按照 conf 目录下给出的【cluster.conf.example】,复制出一份,名字为【cluster.conf】,内容如下(根据自己电脑 IP 修改,也可以使用 127.0.0.1 但是不建议使用这个 IP):

192.168.3.51:8849
192.168.3.51:8859
192.168.3.51:8869

然后将这个 【cluster.conf】文件,复制到其它 2 份 nacos 的 conf 目录下。

3、修改 startup.cmd 的启动模式

把 bin 目录下的 startup.cmd 的启动模式修改成 cluster:

(否则需要在启动的时候增加参数,在Windows 下启动需要使用 cmd 命令,进入到该文件目录后,运行指定文件,然后在后面加参数,命令如下:startup.cmd -m cluster) 

4、修改【application.properties】端口号

依次修改每个目录下的【application.properties】配置文件的端口号。

就这样,集群环境就搭建好了。依次启动 3 个服务。

随便进入一个集群对应的管理后台:http://192.168.3.51:8859/nacos/index.html

请使用账号、密码为 nacos 的登录,然后点击【集群管理】-》【节点列表】可以看到:

 说明集群搭建成功!

3、Nginx 负载均衡实现高可用

可以使用 Nginx 做负载均衡。详细可以查阅其它资料。或者参考博客:

Nginx 反向代理、负载均衡配置、Location正则表达式_流放深圳的博客-CSDN博客

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值