五分钟上手Nacos持久化与集群搭建

发布于:2022-11-28 ⋅ 阅读:(972) ⋅ 点赞:(0)

Nacos的集群与持久化

1.Nacos为什么要持久化

Nacos默认有自带嵌入式数据库derby,但是如果做集群模式的话,就不能使用自己的数据库不然每个 节点一个数据库,那么数据就不统一了,需要使用外部的mysql
Nacos自带的数据库修改nacos/conf目录下的application.properties文件
在这里插入图片描述
spring.datasource.platform=mysql ,告诉Nacos要切换数据库为Mysql
在这里插入图片描述
数据库数量为1
在这里插入图片描述
配置数据库的URL,用户名,密码,这里可以给connectTimeout和socketTimeout的超时时间加个0,防止因为限制时间太短连接不上数据库
在这里插入图片描述
此时我们已经配置完成application.properties,保存并关闭,接着我们打开nacos-mysql.sql文件,由于我们还没有存放nacos内容的数据库,需要新建数据库
在这里插入图片描述
打开之后,复制建表语句,新建一个数据库
在这里插入图片描述
建表成功之后数据库是这样的
在这里插入图片描述
,可以打开nacos的主页测试以下能否存储成功
在这里插入图片描述

在这里插入图片描述
连接上数据库并打开表config_info,可以看到新增的配置文件说明Nacos持久化完成
在这里插入图片描述

2.Nacos的集群如何部署

只玩一台Nacos服务器没什么意思,还不如用Dubbo,所以我们接下来要部署Nacos的集群,其中NGINX的作用是分发请求到各个Nacos服务器,做到负载均衡

什么是集群,集群的作用是什么?

集群就是多台服务器组成的一组计算机,作为一个整体存在,向用户提供一组网络资源,这些单个的服务器就是集群的节点。
集群的作用和意义:可扩展性、高可用性、负载均衡、错误恢复等。
在这里插入图片描述
多个请求通过NGINX平均分发到多台Nacos服务器上(至少是三台),这三台服务器有一个共同的leader,是通过多台服务器投票选出来的,投票机制是按启动顺序先投自己一票,由于票数过半才能当leader,所以第一轮投票没选出leader,第二轮的投票机制是投自己下个服务器一票,由于这里搭建了三台服务器,所以第二轮第一票的时候票数已过半,选举出了leader
关于leader可以在Nacos主页集群管理/节点列表的节点元数据看到leader,以服务器1为leader来说,leader的作用就是比如有一个请求此刻进入到了服务器2,服务器2会跟leader说有一个请求进来了,而leader则会通知服务器3去拉取这个请求,这样一来,所有服务器保存的数据都是同步的.

集群搭建

可以先规划一下节点,由于Nacos的默认端口为8848,我们以搭建三台服务器为例,节点可以规划为,这里的节点是服务器的Ip,三个需要一样

节点 端口
服务器的Ip地址三个是统一的 8848
服务器的Ip地址三个是统一的 8849
服务器的Ip地址三个是统一的 8850

之后修改nacos/conf下的cluster.conf文件
在这里插入图片描述
把将要搭建集群的地址和端口号添加进去
在这里插入图片描述
之后在命令窗口新建nacos_cluster文件夹,并复制三份进去

[root@localhost bin]# cd /usr/local
[root@localhost java]# mkdir nacos_cluster
[root@localhost java]# cp -r nacos nacos_cluster/nacos_8848
[root@localhost java]# cp -r nacos nacos_cluster/nacos_8849
[root@localhost java]# cp -r nacos nacos_cluster/nacos_8850

此时集群已经配置成功,但是并不能使用,因为我们需要用到Nginx,Nginx是C语言编写的,所以我们这里还需要安装C语言的环境,这个指令不用记,复制粘贴即可

安装nginx的依赖库
	yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
下载nginx
	wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
解压安装包
	tar -zxvf nginx-1.12.0.tar.gz
 配置nginx安装包
	cd nginx-1.12.0
	./configure --prefix=/usr/local/nginx
编译并安装
	make && make install

打开nginx/conf目录下的nginx.conf文件,配置代理Nacos

upstream nacos {
  server 192.168.209.129:8848;
  server 192.168.209.129:8849;
  server 192.168.209.129:8850;
}

server {
  listen 80;
  server_name  localhost;
  location / {
    proxy_pass http://nacos;
  }
}

配置完成,测试一下集群

启动Nacos集群
[root@localhost upload]# cd /usr/local/nacos_cluster/nacos_8848/bin
[root@localhost bin]# ./startup.sh
[root@localhost bin]# cd /usr/local/nacos_cluster/nacos_8849/bin
[root@localhost bin]# ./startup.sh
[root@localhost bin]# cd /usr/local/nacos_cluster/nacos_8850/bin
[root@localhost bin]# ./startup.sh
启动Nginx
[root@localhost nginx]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx 

在后端注册一个微服务到Nacos集群
在这里插入图片描述
在Nacos主页的服务列表我们发现三台服务器都已经注册成功了,此时Nacos集群搭建成功
在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到