Nacos集群和持久化

一、Nacos持久化

1. 什么是Nacos持久化?为什么要进行Nacos持久化?

Nacos持久化是指集群中的多个Nacos将数据持久化到一个第三方的数据库(比如MySQL)中。
Nacos持久化的目的是使集群中每个节点的数据保持一致。Nacos默认将数据保存在自带的数据库Derby中,搭建集群的时候就会出现一个问题,每个节点Nacos中的数据无法保持一致。解决方法是:集群中所有的节点Nacos不在将数据保存在自带的数据库Derby中,而是保存在一个共同的第三方数据库(MySQL)中,这样就保证了集群中所有节点的数据一致性。

2. 如何进行Nacos持久化?

2.1 切换数据库

修改Nacos安装目录中nacos/conf/application.properties的配置文件,增加支持mysql数据源配置(目前只支持mysql,版本要求:5.6.5+)

### If use MySQL as datasource:
spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.31.19:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=1111

2.2 初始化数据库

创建nacos数据库并导入sql
在这里插入图片描述

2.3 测试

重启nacos测试nacos所有写到嵌入式数据库的数据是否都写到了mysql:
在这里插入图片描述

二、搭建Nacos集群

1. 集群结构图

在这里插入图片描述

2. 节点规划

节点端口
192.168.52.1318848
192.168.52.1318849
192.168.52.1318850

3. 集群搭建

3.1 找到Nacos安装目录中nacos/conf/cluster.conf.example ,将其复制并改名为 conf/cluster.conf ,并将内容改为如下:

# ip:port
192.168.52.131:8848
192.168.52.131:8849
192.168.52.131:8850

3.2 新建nacos_cluster文件夹,将Nacos安装目录复制三份到nacos_cluster文件夹中

mkdir nacos_cluster
cp -r nacos nacos_cluster/nacos_8848
cp -r nacos nacos_cluster/nacos_8849
cp -r nacos nacos_cluster/nacos_8850

3.3 分别在目录nacos_cluster/nacos_xxxx/conf/application.properties中修改端口号为:

 server.port=8848
server.port=8849
server.port=8850

3.4 配置代理服务

3.4.1 安装Nginx

  • 安装C语言环境依赖,Nginx基于C语言开发,所以要先安装C语言环境依赖。
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

3.4.2 使用Nginx配置Nacos集群
编辑Nginx配置文件nginx/conf/nginx.conf

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

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

4. 测试

4.1启动Nacos集群

cd /usr/local/nacos_cluster/nacos_8848/bin
./startup.sh
cd /usr/local/nacos_cluster/nacos_8849/bin
./startup.sh
cd /usr/local/nacos_cluster/nacos_8850/bin
./startup.sh

4.2 启动Nginx

cd /usr/local/nginx/sbin/
./nginx 

4.3 将微服务注册到Nacos集群

nacos-config:

spring:
  cloud:
    nacos:
      config:
        server-addr: 192.168.52.131
        file-extension: yaml #后缀名,只支持 properties 和 yaml 类型
        prefix: nacos-config #文件名,如果没有配置则默认为 ${spring.appliction.name}
        group: NACOS_GROUP

nacos-provider:

server:
  port: 9090
spring:
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.52.131 
  application:
    name: nacos-provider #向注册中心注册的名字

nacos-consumer:

server:
  port: 8080
spring:
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.52.131
  application:
    name: nacos-consumer #向注册中心注册的名字

4.4 访问nacos集群

启动nacos微服务,并通过nginx访问nacos集群:http://192.168.52.131/nacos
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值