|
本文参考孙卫琴,杜聚宾所创作的<<Spring Cloud Alibaba微服务开发宝典>>一书,即将出版在Nacos服务器上创建了配置单元后,如果重启Nacos服务器,配置单元还存在吗?答案是,还存在的。Nacos服务器在运行时,会对配置单元的数据进行持久化,确保服务器重启后,还能获得原有的配置数据。
Nacos服务器对配置属性进行持久化有两种方式:
(1)默认情况下,Nacos服务器把配置属性保存到内嵌的Apache Derby数据库中。在Nacos服务器的data/derby-data目录下存放包含配置属性的文件。
(2)把配置属性保存到外部数据库中,目前支持MySQL数据库,将来可能会支持更多的外部数据库。
无论Nacos服务器以单机或集群方式运行,都支持内嵌的数据库和外部数据库。Nacos服务器使用外部MySQL数据库,有以下优点:
(1)便于在独立的主机上部署MySQL数据库,MySQL数据库与Nacos服务器无需运行在同一台主机上。
(2)可以方便地查看和维护MySQL数据库。
把Nacos服务器改为使用MySQL数据库作为配置属性的存储源,步骤如下。
(1)安装MySQL。MySQL的官方下载网址为:www.mysql.com。
(2)为Nacos服务器创建连接MySQL的用户名和口令。假定用户名为root,口令为1234。
(3)在MySQL中创建名为nacos_config的数据库,字符编码为UTF8,SQL命令如下:
create database nacos_config character set utf8; |
(4)在nacos_config数据库中,运行Nacos服务器的conf/nacos-mysql.sql脚本,创建config_info等数据库表,这些表用于存储配置属性。
(5)修改Nacos服务器的conf/application.properties配置文件,设置连接MySQL数据源的信息:
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.0=root
db.password.0=1234 |
以上db.num属性表示数据源的个数,如果有两个数据源,可以按照以下方式配置:
db.num=2
db.url.0=……
db.user.0=root
db.password.0=1234
db.url.1=……
db.user.1=root
db.password.1=1234 |
在Nacos服务器的conf/application.properties配置文件的注释行中,已经提供了连接MySQL的参考代码。值得注意的是,参考代码的db.url.0属性中“127.0.0.1:3306/nacos”要改为“127.0.0.1:3306/nacos_config”,这样才能连接到在MySQL中创建的nacos_config数据库。
(6)启动Nacos服务器,会看到以下信息,表明使用外部数据源:
INFO Nacos started successfully in stand alone mode.
use external storage
再通过浏览器访问Nacos服务器的管理平台,参照4.1节创建Data ID为hello-config-service的配置单元。然后在MySQL中查看config_info表:
select * from config_info;
会看到在config_info表中增加了一条表示配置单元的记录,它的data_id字段的值为hello-config-service,group_id字段的值为DEFAULT_GROUP。
程序猿的技术大观园:www.javathinker.net
[这个贴子最后由 sunweiqin 在 2022-08-25 09:16:07 重新编辑]
|
|