勿以浮沙筑高台
Nacos基础:https://blog.csdn.net/qq_35059264/article/details/119356216
Nacos持久化
1.在Nacos配置文件中有个SQL文件。
打开里面有数据库名称,可以自定义,我们一般就按默认名称就是了。
创建nacos_config数据库,将脚本拖入Navicat运行。创建成功后有12张表
2.修改配置文件,同目录下的application.properties
配置文件
打开mysql配置文件
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos_configcharacterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=123
开放上面3个配置,并修改用户密码和链接数据库名称。
3.启动nacos
bin目录下cmd :startup -m standalone
访问页面:http://localhost:8848/nacos/#/login
这个时候我们的配置信息就会持久化在数据库中。
Nacos非对称加密
有时我们配置文件里有我们的数据库访问信息等,这些对外访问人员或者开发人员开发是十分不安全的,因此需要采用非对称的加密算法。
1.引入加密依赖
<!--引入加密依赖-->
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
2:配置yml文件
jasypt:
encryptor:
# 验证形式,可以是证书或者字符。这里是字符
private-key-format: der
# 生成的私钥
private-key-string: XXXXXXX这里是私钥
3.在Nacos上配置公钥加密后的密文
使用ENC()包裹.
4.启动项目测试
拿到解密后的数据。成功。
Nacos动态刷新
1.新建config数据源类对象。
@Data
@RefreshScope
@Configuration
@ConfigurationProperties(prefix = "env.app")
public class EntityConfig {
private String refrsh;
}
2.yml文件
3.启动测试。
修改文件访问,发生变化成功
4.数据源的动态刷新配置方法
@Configuration
public class DatabaseConfig {
// 自定义数据源
@Bean
//对应的yml数据源地址
@ConfigurationProperties(prefix = "spring.datasource")
@RefreshScope // 标记数据能够动态刷新
public DataSource dataSource() {
System.out.println("========RefreshScope========");
return DruidDataSourceBuilder.create().build();
}
}