当前位置: 首页 > article >正文

[0629].第29节:配置中心业务规则与动态刷新

我的后端学习大纲

SpringCloud学习大纲


1、编码实现3377服务:

1.1.建module:

在这里插入图片描述
在这里插入图片描述


1.2.改pom:

在这里插入图片描述

1.3.写YML:

1.Nacos同Consul一样,在项目初始化时,要保证先从配置中心进行配置拉取,拉取配置之后,才能保证项目的正常启动为了满足动态刷新和全局广播通知,springboot中配置文件的加载是存在优先级顺序的,bootstrap优先级高于application

a.bootstrap.properties:

  • 1.必须使用bootstrap.properties配置文件来配置Nacos Server
# nacos配置
spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #Nacos服务注册中心地址
      config:
        server-addr: localhost:8848 #Nacos作为配置中心地址
        file-extension: yaml #指定yaml格式的配置

# nacos端配置文件DataId的命名规则是:
# ${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
# 本案例的DataID是:nacos-config-client-dev.yaml

b.application:

  • 1.与Nacos无关的配置写在Application中:
server:
  port: 3377

spring:
  profiles:
    active: dev # 表示开发环境
       #active: prod # 表示生产环境
       #active: test # 表示测试环境

1.4.主启动:

package com.atguigu.cloudalibaba;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@EnableDiscoveryClient
@SpringBootApplication
public class NacosConfigClient3377{
    public static void main(String[] args){
        SpringApplication.run(NacosConfigClient3377.class,args);
    }
}

1.5.业务类:

package com.atguigu.cloud.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
@RefreshScope //在控制器类加入@RefreshScope注解使当前类下的配置支持Nacos的动态刷新功能。
public class NacosConfigClientController
{
    @Value("${config.info}")
    private String configInfo;

    @GetMapping("/config/info")
    public String getConfigInfo() {
        return configInfo;
    }
}

@RefreshScope 注解来实现配置的自动更新


2、在Nacos中的匹配规则:

2.1.设置DataId理论:

a.官网介绍:

  • 1.Nacos中的DataId的组成格式及与SpringBoot配置文件匹配的规则:

最后公式:${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

b.配置DataId实操:

  • 公式:${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
  • prefix默认值:spring.application.name的值
  • spring.profiles.active即为当前环境对应的profile,可以通过配置项:spring.profiles.active来配置
  • file-extension为配置文件的数据格式
    在这里插入图片描述

2.2.创建配置:

在这里插入图片描述

2.3.配置DataId和对应文件:

  • Data ID:nacos-config-client-dev.yaml
    在这里插入图片描述

说明:

  • 配置更改后可以自动刷新
  • Nacos会记录配置文件的历史版本,默认保留30天,此外还有一键回滚的功能,回滚也会触发配置更新

http://www.kler.cn/a/428073.html

相关文章:

  • 01-时间与管理
  • 5.桥模式(Bridge)
  • allegro修改封闭图形线宽
  • < OS 有关> BaiduPCS-Go 程序的 菜单脚本 Script: BaiduPCS-Go.Menu.sh (bdgo.sh)
  • 网关登录校验
  • 2007-2020年各省国内专利申请授权量数据
  • 运维角度定位JAVA微服务线上CPU飙升问题
  • iOS如何操作更新推送证书
  • 基于单片机的智能客车超载监测综合性实验
  • Ubuntu 环境美化
  • 人机之间的交互存在不少逻辑性的跳跃
  • Hadoop3集群实战:从零开始的搭建之旅
  • 常用的8款电脑加密软件分享|2025电脑办公文件怎么加密?
  • 高通Camera点亮1——Camera相关的DTS配置
  • 每日计划-1207
  • 分布式设备虚拟化概述
  • 量化交易系统开发-实时行情自动化交易-8.15.Ptrade/恒生平台
  • apache部署若依前后端分离项目(开启SSL)
  • openharmony5.0版本源码一二级目录概览
  • 需要排序的子数组
  • 学生信息管理系统(简化版)后端接口
  • OpenAI 发布 o1 Pro 与 ChatGPT Pro:更强大、更智能的 AI 助手
  • 【设计模式系列】状态模式(二十三)
  • 关于删除有序数组中的重复项问题的几种方法
  • 捷米特 EtherNet/IP 总线协议网关的具体内容介绍
  • VMD + CEEMDAN 二次分解——创新预测模型合集