Nacos集群搭建和mysql持久化配置
@toc
这篇很重要,因为生产环境中为了高可用都是使用的nacos集群,单节点的服务注册这些你跟着官网配置都可以,但是集群是必须要会的。
1、Nacos集群部署架构
生产环境大多使用集群模式以确保高可用。
nacos集群架构图如下:
nacos支持三种部署模式:
- 单击模式:用于测试和单击试用。
- 集群模式:用于生产环境,确保高可用。
- 多集群模式:用于多数据中心场景。
因此开源的时候推荐用户把所有服务列表放到一个vip下面,然后挂到一个域名下面
http://ip1:port/openAPI 直连ip模式,机器挂则需要修改ip才可以使用。
http://SLB:port/openAPI 挂载SLB模式(内网SLB,不可暴露到公网,以免带来安全风险),直连SLB即可,下面挂server真实ip,可读性不好。
http://nacos.com:port/openAPI 域名 + SLB模式(内网SLB,不可暴露到公网,以免带来安全风险),可读性好,而且换ip方便,推荐模式这里吐槽一点,阿里巴巴的文档写的不是很全,可能阿里大佬太多,以为上面那张图咱能看懂吧,你如果看到上面的架构图能立马翻译成下面这种,那说明你真的懂了。
上面的架构图并没有具体说明SLB是什么,实际上上面的架构图翻译成下面这种看起来是不是很熟悉。
2、Nacos持久化配置解释
由于Nacos默认自带的是嵌入式数据库derby,这样不方便我们使用工具实时检测,所以这里改用mysql持久化nacos的配置。
derby切换到mysql的步骤:
-
先去conf文件夹下面找到nacos-mysql.sql这条脚本,然后在自己的数据库中执行该脚本,执行之后的效果如下:
-
再去修改conf文件夹下面的application.properties文件,增加数据库配置文件:
示例如下:
3、Linux版Nacos+MySQL生产环境配置
3.1 集群规划
准备三个nacos节点
- nacos01节点:192.168.159.33:3333
- nacos02节点:192.168.159.33:4444
- nacos03节点:192.168.159.33:5555
准备一个nginx
准备一个mysql:192.168.159.33:3306
即1个nginx+3个nacos节点+1个mysql的低配集群。
这里为了简单,nginx和mysql并没有使用集群搭建,效果是一样的。
当然了,如果你嫌三台节点都在同一个虚拟机中搭建不合理,那你也可以启动三台虚拟机,然后修改下ip即可。
3.2 nacos的linux版本安装
下载地址:https://github.com/alibaba/nacos/releases/tag/1.4.1
我这里使用的是1.4.1版本,
下载之后直接解压就能用了。
目录如下:
3.3 linux服务器上的mysql数据库配置
将conf文件夹下面的nacos-mysql.sql脚本在mysql中执行。
执行之后查看结果
3.4 复制三份nacos文件
我们这里使用nacos01、nacos02、nacos03,只是为了测试,生产环境中请在不同的节点上面配置。
3.5 修改application.properties
修改/conf文件夹下面的application.properties文件,增加mysql持久化配置。
nacos01、nacos02、nacos03中都需要做如下修改:
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?useUnicode=true&characterEncoding=utf-8&useSSL=false
db.user=root
db.password=123456
3.6 修改cluster.conf
在nacos01文件夹中修改/conf文件夹下面的cluster.conf
初始是没有的,只有个cluster.conf.example,
我们执行命令cp cluster.conf.example cluster.conf
即可。
然后执行vim cluster.conf
命令编辑该文件
增加如下配置:
192.168.159.33:3333
192.168.159.33:4444
192.168.159.33:5555
现在只配置了nacos01,我们直接将该文件复制到nacos02和nacos03对应的文件夹中即可。
执行如下命令:
cp cluster.conf /usr/local/nacos02/conf/
cp cluster.conf /usr/local/nacos03/conf/
3.7 修改三台节点的端口号
分别修改三台节点的/conf文件夹下面的application.properties文件。
将nacos01、nacos02、nacos03的端口号分别修改为3333、4444、5555
nacos01:
vim /usr/local/nacos01/conf/application.properties
nacos02:
vim /usr/local/nacos02/conf/application.properties
nacos03:
vim /usr/local/nacos03/conf/application.properties
3.8 启动三台nacos节点
分别进入到三台节点的/bin文件下面执行如下命令
startup.sh
从上图可以发现,都是以集群模式(cluster)启动的。
访问三台节点的控制台查看是否成功:
http://192.168.159.33:3333/nacos
http://192.168.159.33:4444/nacos
http://192.168.159.33:5555/nacos
3.9 使用nginx做负载均衡
修改nginx的配置文件
vim nginx.conf
添加如下配置:
这里配置的意思是让nginx监听1111端口(你让它监听80端口也是可以的)
启动nginx
cd sbin
./nginx -c /usr/local/nginx/conf/nginx.conf
3.10 集群测试
截止到此处,1个nginx+3个nacos注册中心+1个mysql的配置就搭建完成了。
测试Nginx访问nacos:http://192.168.159.33:1111/nacos
新建一个配置测试:
分别查看三台节点是不是都有该配置,
nacos01:
nacos02:
nacos03:
查看linux服务器中的mysql是否多了一条记录
3.11 微服务注册测试
微服务cloudalibaba-provider-payment9002启动注册进nacos集群
修改application.yml文件的nacos注册地址为:192.168.159.33:1111,注意,这是nginx的监听的地址,由它负载均衡之后交给192.1168.159.33:3333、192.1168.159.33:4444、192.1168.159.33:5555这三台节点中的一个处理。
启动该微服务之后,去nacos控制台查看是否注册成功。
到此,集群搭建与持久化配置就介绍完了,这里你完全可以将nginx和mysql也是用集群搭建,实现真正的高可用集群。
==注意:这里你如果用单台虚拟机模拟的话,内存要在3G以上才可以。==
- 点赞
- 收藏
- 关注作者
评论(0)