Nacos集群搭建和mysql持久化配置

举报
别团等shy哥发育 发表于 2022/04/23 15:58:13 2022/04/23
【摘要】 @toc这篇很重要,因为生产环境中为了高可用都是使用的nacos集群,单节点的服务注册这些你跟着官网配置都可以,但是集群是必须要会的。 1、Nacos集群部署架构  生产环境大多使用集群模式以确保高可用。  nacos集群架构图如下:  nacos支持三种部署模式:单击模式:用于测试和单击试用。集群模式:用于生产环境,确保高可用。多集群模式:用于多数据中心场景。  因此开源的时候推荐用户把所...

@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是什么,实际上上面的架构图翻译成下面这种看起来是不是很熟悉。

image-20220415183010933

2、Nacos持久化配置解释

  由于Nacos默认自带的是嵌入式数据库derby,这样不方便我们使用工具实时检测,所以这里改用mysql持久化nacos的配置。

  derby切换到mysql的步骤:

  • 先去conf文件夹下面找到nacos-mysql.sql这条脚本,然后在自己的数据库中执行该脚本,执行之后的效果如下:

    image-20220415183420888

  • 再去修改conf文件夹下面的application.properties文件,增加数据库配置文件:

  示例如下:

image-20220415183511579

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版本,

image-20220415184001450

  下载之后直接解压就能用了。

  目录如下:

image-20220415184107358

3.3 linux服务器上的mysql数据库配置

  将conf文件夹下面的nacos-mysql.sql脚本在mysql中执行。

image-20220415184222261

  执行之后查看结果

image-20220415184302813

3.4 复制三份nacos文件

image-20220415184417297

  我们这里使用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

image-20220415184615992

3.6 修改cluster.conf

  在nacos01文件夹中修改/conf文件夹下面的cluster.conf

  初始是没有的,只有个cluster.conf.example,

  我们执行命令cp cluster.conf.example cluster.conf即可。

  然后执行vim cluster.conf命令编辑该文件

image-20220415184830400

  增加如下配置:

192.168.159.33:3333
192.168.159.33:4444
192.168.159.33:5555

image-20220415184927554

  现在只配置了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

image-20220415185226793

  nacos02:

vim /usr/local/nacos02/conf/application.properties

image-20220415185259857

  nacos03:

vim /usr/local/nacos03/conf/application.properties

image-20220415185328274

3.8 启动三台nacos节点

  分别进入到三台节点的/bin文件下面执行如下命令

startup.sh

image-20220415185441776

  从上图可以发现,都是以集群模式(cluster)启动的。

  访问三台节点的控制台查看是否成功:

  http://192.168.159.33:3333/nacos

image-20220415185621543

  http://192.168.159.33:4444/nacos

image-20220415185637869

  http://192.168.159.33:5555/nacos

image-20220415185652225

3.9 使用nginx做负载均衡

  修改nginx的配置文件

image-20220415185806774

vim nginx.conf

  添加如下配置:

image-20220415185900065

  这里配置的意思是让nginx监听1111端口(你让它监听80端口也是可以的)

  启动nginx

cd sbin
./nginx -c /usr/local/nginx/conf/nginx.conf

image-20220415190033114

3.10 集群测试

  截止到此处,1个nginx+3个nacos注册中心+1个mysql的配置就搭建完成了。

  测试Nginx访问nacos:http://192.168.159.33:1111/nacos

image-20220415190142864

  新建一个配置测试:

image-20220415190208944

image-20220415190227211

  分别查看三台节点是不是都有该配置,

  nacos01:

image-20220415190257245

  nacos02:

image-20220415190310434

  nacos03:

image-20220415190333193

  查看linux服务器中的mysql是否多了一条记录

image-20220415190428555

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这三台节点中的一个处理。

image-20220415190619075

  启动该微服务之后,去nacos控制台查看是否注册成功。

image-20220415190704201

   到此,集群搭建与持久化配置就介绍完了,这里你完全可以将nginx和mysql也是用集群搭建,实现真正的高可用集群。

  ==注意:这里你如果用单台虚拟机模拟的话,内存要在3G以上才可以。==

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。