目录
1.前言
在上一篇文章,我们实现了基于nacos
做分布式配置中心,实施的存储、更新我们的配置文件数据,在使用以往的一些配置中心时,服务重启或者注册中心重启后,配置文件数据将会丢失,这种情况是因为将数据储存在JVM
的内存当中,当JVM不再提供运行时,数据也会相应的丢失,一些开源框架默认将数据存储在JVM
内存中的还挺多的,那么nacos
又是存储在哪里呢?
2.nacos默认存储存储方式
2.1.了解nacos默认储存
不难发现,无论你是在重启服务还是重启nacos-server
配置中心,你之前所存储的配置文件信息都不会丢失,这是因为alibaba默认将nacos-server
作为分布式配置中心的数据存储到了一个叫做derby的内嵌数据库到Java应用程序中了,百度百科了解下derby
,你会知道Derby
是什么:
Derby是一个理想的,并且开源的,100% Java编写的,容易管理的关系数据库管理系统,它可以和一些商业产品的特性进行交付。Apache Derby非常小巧,核心部分derby.jar只有2M,所以既可以做为单独的数据库服务器使用,也可以内嵌在应用程序中使用。Cognos 8 BI的Content Store默认就是使用的Derby数据库,可以在Cognos8的安装目录下看到一个叫derby10.1.2.1的目录,就是内嵌的10.1.2.1 版本的derby。
另外,除了上面提到的使用nacos做分布式配置中心时,数据除了存储到一个内嵌到Java应用程序derby数据库中之外,nacos官方还提供了存储到MySQL中,在1.2.1及之前的版本,支持的只有Mysql,暂不支持其他关系型数据库。官方文档介绍如下:
2.2.单机模式支持mysql
在0.7版本之前,在单机模式时nacos
使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力,具体的操作步骤:
1.安装数据库,版本要求:5.6.5+
2.初始化mysql数据库,数据库初始化文件:nacos-mysql.sql
3.修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。
再以单机模式启动nacos
,nacos
所有写嵌入式数据库的数据都写到了mysql
,这一内容在下一篇讲解。
文档参考Nacos: Nacos支持三种部署模式
3.nacos默认的存储方式
3.1.默认存在Derby内嵌数据库中
找到nacos目录下的datas目录,你会发现有个derby-data
文件目录,数据默认是存储在这理,但是不能可视化,不过可以通过IDEA工具看到
3.2.使用IDEA连接Derby查看数据
注意: nacos-server一定要停止,不要开启、否则连不上
- 下载驱动连接Derby
- 账号和密码:
nacos
/nacos
这里面就是存储的nacos
分布式配置中心的配置文件数据。