SpringCloud(35)——Nacos持久化

https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html

1.为什么要使用集群和持久化

集群是为了解决单点故障而持久化是为了解决重启之后再手动输入配置的问题。
默认Nacos使用嵌入式数据库实现数据的存储。所以,如果启动多个默认配置下的Nacos节点,数据存储是存在一致性问题的。
为了解决这个问题,Nacos采用了集中式存储的方式来支持集群化部署,目前只支持MySQL的存储
2.Nacos自身的持久化
我们在本地的nacos配置好后无论是重启nacos还是关机,再启动,都还会看到我们之前的配置。
这是因为nacos自带一个小型数据库derby,如果我们在集群模式下仍然使用自带的derby数据库,那么就会出现数据一致性问题

2.使用mysql做持久化配置

2.1导入mysql脚本

nacos为我们提供了初始化的mysql脚本。
在nacos根目录下的/conf/nacos-mysql.sql
我们先要在我们的mysql库里创建一个叫nacos_config的数据库
然后把脚本导入到这个库里就可以了。

image.png
2.2配置mysql

nacos的配置文件同样在根目录下的/conf/application.properties
在这个配置文件里新增如下配置:

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

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

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

可以参考官网的mysql配置:
https://github.com/alibaba/nacos/blob/master/distribution/conf/application.properties

2.4重启测试

接下来我们重启

image.png

可以看到我们之前的配置都清空了,我们再随便新建一个配置

image.png

我们再去mysql中查看一下

image.png

我们的配置就存放到mysql中啦!

你可能感兴趣的:(SpringCloud(35)——Nacos持久化)