|  | 本文参考孙卫琴,杜聚宾所创作的<<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 重新编辑]
 |  |