Nacos集群和持久化配置

1.Nacos集群

1.1.架构说明

官方文档
集群部署架构图
因此开源的时候推荐用户把所有服务列表放到一个vip下面,然后挂到一个域名下面
http://ip1:port/openAPI直连ip模式,机器挂则需要修改ip才可以使用
http://VIP:port/openAPI挂载VIP模式,直连vip即可,下面挂server真实ip,可读性不好
http://nacos.com:port/openAPI域名+VIP模式,可读性好,而且换ip方便,推荐模式

在这里插入图片描述

上图官网翻译,真实情况

在这里插入图片描述

按照上述,我们需要mysql数据库。

官网说明

默认Nacos使用嵌入式数据库实现数据的存储。所以,如果启动多个默认配置下的Nacos节点,数据存储是存在一致性问题的。为了解决这个问题,Nacos采用了集中式存储的方式来支持集群化部署,目前只支持MySQL的存储。

Nacos支持三种部署模式

  • 单机模式-用于测试和单机试用。
  • 集群模式-用于生产环境,确保高可用。
  • 多集群模式-用于多数据中心场景。

Windows
cmd startup.cmd或者双击startup.cmd文件

单机模式支持mysql

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

  1. 安装数据库,版本要求:5.6.5+
  2. 初始化mysq数据库,数据库初始化文件: nacos-mysql.sql
  3. 修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。
spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://11.162.196.16:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=nacos_devtest
db.password=youdontknow

再以单机模式启动nacos,nacos所有写嵌入式数据库的数据都写到了mysql。

Nacos持久化切换配置

2.Nacos持久化切换配置

Nacos默认自带的是嵌入式数据库derby,nacos的pom.xml中可以看出。

<dependency>
    <groupId>org.apache.derby</groupId>
    <artifactId>derby</artifactId>
</dependency>

derby到mysql切换配置步骤:

  1. nacos-server-1.1.4\nacos\conf录下找到nacos-mysql.sql文件,执行脚本。
  2. nacos-server-1.1.4\nacos\conf目录下找到application.properties,添加以下配置(按需修改对应值)。
spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai
db.user=root
db.password=root

启动Nacos,可以看到是个全新的空记录界面,以前是记录进derby。

3.Nacos之Linux版本安装

预计需要,1个Nginx+3个nacos注册中心+1个mysql

请确保是在环境中安装使用:

  1. 64 bit OS Linux/Unix/Mac,推荐使用Linux系统。
  2. 64 bit JDK 1.8+
  3. Maven 3.2.x+;配置
  4. 3个或3个以上Nacos节点才能构成集群。

3.1.Nacos下载Linux版

  • https://github.com/alibaba/nacos/releases/tag/1.1.4
  • 上传nacos-server-1.1.4.tar.gz 到root下
  • cp -r nacos /usr/local

4.Nacos集群配置

4.1.运行sql脚本

sql脚本在目录nacos/conf/nacos-mysql.sql,运行数据库脚本

在这里插入图片描述

4.2.application.properties配置

配置之前先对application.properties进行备份

在这里插入图片描述

添加以下内容,设置数据源

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai
db.user=root
db.password=root

4.3.Linux服务器上nacos的集群配置cluster.conf

配置之前先对cluster.conf进行备份

在这里插入图片描述

内容

121.199.52.197:3333
121.199.52.197:4444
121.199.52.197:5555

注意,这个IP不能写127.0.0.1,必须是Linux命令hostname -i能够识别的IP

4.4.编辑Nacos的启动脚本startup.sh,使它能够接受不同的启动端口

在这里插入图片描述

平时单机版的启动,都是./startup.sh即可

但是,集群启动,我们希望可以类似其它软件的shell命令,传递不同的端口号启动不同的nacos实例。
命令: ./startup.sh -p 3333表示启动端口号为3333的nacos服务器实例,和上一步的cluster.conf配置的一致。

修改内容

在这里插入图片描述

在这里插入图片描述

**执行方式 **

./startup.sh - r 端口号

5.配置nginx

5.1.Nginx的配置,由它作为负载均衡器

修改nginx的配置文件 nginx.conf

在这里插入图片描述

修改内容

在这里插入图片描述

按照指定启动

./nginx -c /usr/local/nginx/conf/nginx.conf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值