IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 微服务2-nacos 配置中心 -> 正文阅读

[Java知识库]微服务2-nacos 配置中心

1什么是配置中心

在微服务架构中,当系统从一个单体应用,被拆分成分布式系统上一个个服务节点后,配置文件也必须跟着迁移(分割),这样配置就分散了,不仅如此,分散中还包含着冗余,如下图:
在这里插入图片描述

2为什么要使用配置中心

配置中心将配置从各应用中剥离出来,对配置进行统一管理,应用自身不需要自己去管理配置。

Nacos是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

在这里插入图片描述

3 下载部署

见nacos 注册中心篇

4 实战

4.1 引入 pom

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

4.2 bootstrap.yml 配置

spring:
  application:
    # 应用名称
    name: mycloud-nacos

  profiles:
    # 环境配置
    active: pro

  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: xxxx:8848
      config:
        # 配置中心地址 默认按照application-name去匹配配置文件
        server-addr: xxxx:8848
        # 配置文件格式
        file-extension: yaml

配置中心地址 默认按照application-name去匹配配置文件,默认读properties后缀。

4.3 nacos 平台新增配置文件

namespace:名称空间用于隔离不同租户的配置。组和数据 id 可以在不同的名称空间中相同。名称空间的典型场景是不同环境的配置隔离,例如,开发/测试环境和生产环境(配置和服务等)之间的隔离。

Group:默认情况下,当没有定义{ spring.cloud.nacos.config.group }配置时,使用 DEFAULT _ group。如果您需要定义自己的组,可以在以下属性中定义它:

spring.cloud.nacos.config.group=DEVELOP_GROUP

这个配置必须在 bootstrap.properties 文件中,Group 的值必须与 spring.cloud.nacos.config.Group 的值相同。

Data ID: 默认为 a p p l i c a t i o n . n a m e ? {application.name}- application.name?{spring.profiles.active}.properties
其中spring.profiles.active 是根据服务application配置文件制定的环境自动适配的
Data ID 默认采用properties后缀我们可以通过 spring.cloud.nacos.config.file-extension: yaml 来让它读取yaml 后缀。

在这里插入图片描述

在这里插入图片描述

3)
配置mycloud-nacos.yaml
在这里插入图片描述

配置mycloud-nacos-dev.yaml
在这里插入图片描述

配置 mycloud-nacos-pro.yaml
在这里插入图片描述

4.4 读取nacos 多环境配置

1) 在nacos 上新增配置文件

@RestController
@RequestMapping("/nacos")
@RefreshScope
@Slf4j
public class TestController {

    @Value("${age}")
    private Integer age;

    @Value("${id}")
    private Integer id;


    @RequestMapping("/testConfig")
    public void testConfig(){
        log.info("-------age:{}-----",age);
        log.info("-------id:{}-----",id);
        log.info("-------name:{}", SpringUtil.getEnvironmentProperty("name"));
    }
}

@RefreshScope 是nacos 开启配置自动刷新的注解,开启后nacos中配置跟新,服务会拉取最新配置进行更新。

  1. 当 spring.profiles.active: pro 时
    在这里插入图片描述

可见当指定环境时 mycloud-nacos-pro.yaml
,mycloud-nacos.yaml 配置都会被读取且前者中的相同配置会覆盖后者,完全符合springboot中多环境配置文件规则。

  1. 当 spring.profiles.active: dev 时

age 变成了 880 说明nacos的配置会跟着spring.profiles.active 变化。
在这里插入图片描述

4.5读取 nacos 共享配置

1)bootstrap.yaml:

server:
  port: 7001

# Spring
spring:
  application:
    # 应用名称
    name: mycloud-nacos

  profiles:
    # 环境配置
    active: pro

  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: xxxx:8848
      config:
        # 配置中心地址 默认按照application-name去匹配配置文件
        server-addr: xxxx:8848
        # 配置文件格式
        file-extension: yaml
#        共享配置
        shared-configs:	 common-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

  1. nacos上新增配置文件 common-dev.yaml
    在这里插入图片描述

3)设置spring.profiles.active: dev

4)结果

address 已经能够读到,但是我们发现id 并不是common-dev.yaml 中设置的8600 而是mycloud-nacos.yaml 中设置的 1 ,这说明共享配置的优先级比较低。
在这里插入图片描述

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 18:38:23  更:2022-07-20 18:40:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/31 7:20:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码