• spring cloud 使用nacos 作为配置中心


    概要

    nacos 可以作为服务注册发现中心,也可以作为配置中心,作为配置中心的时候,系统的配置可以做到自动刷新,即当配置服务器的数据发生更改时,客户端的配置会进行自动的更新。

    实现步骤

    1.修改maven 配置

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

    2.增加bootstrap.properties

    这个是文件是启用nacos作为配置中心的文件。

    图标有朵云,表示启用nacos 作为配置中心。

    //配置nacos作为配置服务器
    spring.cloud.nacos.config.server-addr=127.0.0.1:8848
    //配置模式为开发模式
    spring.profiles.active=dev
    //nacos配资使用yml 作为扩展名
    spring.cloud.nacos.config.file-extension=yml
    //下面的配置时公共配置,即可以在不同应用之间进行共享。
    spring.cloud.nacos.config.shared-dataids=common.yml
    spring.cloud.nacos.config.refreshable-dataids=common.yml

     springcloud 是使用配置优先的。

    比如我现在有一个应用为:

    jpaas-form

    系统会按照如下的配置进行查找

    1.先找 jpaas-form-dev.yml,如果找到了则返回,如果找不到则进行下一步。

    2.查找 jpaas-form.yml 如果找不到,则查找共享的配置,根据上面的配置他会查找common.yml

     这里配置格式,可以是 yaml 或者 properties

    3.在程序中使用

    @RefreshScope
    public class SysSeqIdController extends BaseController<SysSeqId> {
    
        
        @Value( value = "${user.name}")
        private String username="";
    
        @Value( value = "${sys.name}" )
        private String uploaddir="";
    
        @Autowired
        private User user;

    @RefreshScope 是实现自动刷新配置。

    user.name,sys.name 是配置的参数

    可以使用 yml 的格式进行配置。

     我们还可以配置对象的方式进行参数进行注入,使用相当方便。

    比如:

    user:
        name: ray
        address: guangzhou

    编写用户代码如下:

    @Data
    @Component
    @ConfigurationProperties(prefix = "user")
    public class User {
        private String name="";
        private String address="";
    }

    这样 数据就会自动配置好用户对象,使用下面的代码进行注入。

    @Autowired
    private User user;

     同样,这个对象在配置中心修改后也能进行自动刷新。

    4.将数据库配置放到nacos 配置中心。

    我们一般将数据库配置,配置到 application.properties 文件中,这有个坏处,当我需要打包时,需要在启动时,指定这些配置,配置会太多。

    因此,我们需要将这些配置放置到 nacos ,在启动应用的时候,我们只需要指定 nacos 的地址,这样我们 就可以启动微服务应用。

    当数据库配置等需要修改时,我们只需修改naocs的配置即可,不需要修改程序包。

    nacos配置如下:

    程序配置中心配置如下:

     在bootstrap-dev.properties 指定 nacos的配置 nacos-config-dev.properties

     在 IDEA 中指定 配置 nacos.address 

    使用命令行启动微服务

    java -jar jpaas-user.jar --nacos.address=192.168.1.10:8848 指定配置中心地址。

  • 相关阅读:
    Exp5
    Exp4
    Exp3
    Exp02
    【TPM】tpm搭建基础指南
    20155316 Exp1 PC平台逆向破解(5)M
    个人早期写的一些组件
    关于spring @scope("prorotype") 和 @aspectj 一起用的问题
    ThreadLocal内存泄漏需要注意的
    Spring IoC 容器大概流程
  • 原文地址:https://www.cnblogs.com/yg_zhang/p/12635106.html
Copyright © 2020-2023  润新知