nacos配置中心使用

Nacos不仅可以作为注册中心使用,还可以作为配置中心使用。相比于使用spring-cloud-config-server来说,我们可以不用再去建一个配置文件的git仓库,直接可以在nacos的控制台进行操作,同时配置文件热更新也更为方便,只需要在控制台修改,服务端就更新了。

1.加依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2.同样的创建bootstrap.yml文件

 nacos配置中心使用

 

spring:
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yml
  application:
    name: order
  profiles:
    active: dev

这样服务启动的时候会去nacos寻找dataIdorder-dev.yml的配置

3.nacos控制台创建dataId为order-dev.yml的配置

 

 nacos配置中心使用

 

 nacos配置中心使用

 

DataID就是我们的完整的配置的名字,需要加上yml后缀。

nacos配置中心使用

 

还有编辑操作可以随时修改、新增配置

启动服务可以看见加载了order-dev.yml配置的内容

 

nacos配置中心使用

 

4.公用配置

我们还可以通过shared-configs配置公用的的配置,比如注册中心大家都用同一个,redis的也可能是多个服务用同一个配置,修改一下上面的bootstrap.yml文件

 

spring:
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yml
        shared-configs: #公用配置文件
          - data-id: common1.yml
            refresh: true #是否支持自动刷新
          - data-id: common2.yml
            refresh: true
#        extension-configs: #同上

  application:
    name: order
  profiles:
    active: dev

 

再去nacos配置中心配置dataId为common1.ymlcommon2.yml的配置

nacos配置中心使用

 

 重启服务可以查看日志信息里面加载了common1和common2的配置

5.配置热更新

热更新,使用@Value的配置需要在当前的类上面加上@RefreshScope注解,就可以支持热更新了,只需要在nacos配置中心修改了值,服务那边也会跟着进行刷新。(https://nacos.io/zh-cn/docs/open-api.html

nacos配置中心使用

 

6.nacos内置derby数据库

Nacos内置了一个Derby数据库这些配置数据都放在里面

我们可以使用idea链接上derby数据库

nacos配置中心使用

 

nacos配置中心使用

 

 Path是我们的nacos目录下的data/derby-data

帐户密码就是默认nacos/nacos

我们的配置信息就在这儿,如果连接不上数据库,把启动的nacos服务停掉再连接就可以了,配置信息在config_info表里面

 

nacos配置中心使用

 

 

我们登录nacos的账号和密码也在USERS表中

nacos配置中心使用

 

 

 如果要修改nacos的密码,可以直接再这里修改,我们再这里新增一个帐户nijunyang/123456上去,它加密是用的org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder,引入这个类所在的包,直接用starter:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-security</artifactId>
</dependency>

 

将密码加密出来插入到数据库中去:

nacos配置中心使用

 

nacos配置中心使用

 

再次启动nacos就可以使用新密码去登录了

完整代码demo:https://github.com/bluedarkni/study/tree/master/cloud-alibaba

 

发表评论

相关文章