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知识库 -> Spring Cloud Alibaba - Nacos(四)配置中心 -> 正文阅读

[Java知识库]Spring Cloud Alibaba - Nacos(四)配置中心



一、Nacos配置中心使用

官方文档: https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config
Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。

1. 快速开始

准备配置,在nacos server中新建order-service.yaml

Namespace:代表不同环境,如开发、测试、生产环境。
Group:代表某项目,如XX医疗项目、XX电商项目
DataId:每个项目下往往有若干个工程(微服务),每个配置集(DataId)是一个工程(微服务)的主配置文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lc2TLAQY-1651046962146)(./img/4-1.jpg)]

我们需要在public下创建一个order.yml的配置文件

2. 搭建nacos-config服务

通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-config 实现配置的动态变更

2.1 引入依赖

<!--nacos-配置中心-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2.2 添加bootstrap.yml

配置文件的信息需要写在bootstrap.yml文件中,才可以正常加载配置文件,然而我们这个版本没有自动依赖加载bootstrap的包,所以还得添加如下依赖:

<!--加载bootstrap文件-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

添加配置

server:
  port: 8010
spring:
  application:
    name: order
  cloud:
    nacos:
      server-addr: 192.168.28.129:8848
      config:
        file-extension: yml

2.3 在程序中使用配置

@RestController
@RequestMapping("/order")
@Slf4j
public class OrderController {

    @Value("${str}")
    private String str;
    @Resource
    private StockFeign stockFeign;


    @GetMapping("/add")
    public String add() {
        log.info("添加商品!{}", str);
        String forObject = stockFeign.reduce("666");
        return "添加商品成功." + forObject;
    }
}

这样启动项目,访问/order/add就可看到拿到了配置的参数 str 了。

3. Config相关配置

Nacos 数据模型 Key 由三元组唯一确定, Namespace默认是空串,公共命名空间(public),分组默认是 DEFAULT_GROUP

如下配置:就是读取地址在192.168.28.129:8848的nacos上namespace = dc2ec31d-1f60-4aa8-8c90-921cbb59b92d中group=BUSINESS_GROUP的order.yaml文件中的配置。

spring:
  application:
    name: order
  cloud:
    nacos:
      server-addr: 192.168.28.129:8848
      config:
        file-extension: yaml
        namespace: dc2ec31d-1f60-4aa8-8c90-921cbb59b92d
        group: BUSINESS_GROUP

当然我们在开发中有很多的公共配置文件,这时候我们可以直接引用公共文件

spring:
  application:
    name: order
  cloud:
    nacos:
      server-addr: 192.168.28.129:8848
      config:
        file-extension: yaml
        namespace: dc2ec31d-1f60-4aa8-8c90-921cbb59b92d
        group: BUSINESS_GROUP
        shared-configs: # 公共配置 数组类型的 可以配置多个
          - dataId: common.yaml
            group: COMMON_GROUP
            refresh: true

还有一种是spring.cloud.nacos.config.extension-configs[n].data-id的配置方式,和shared-configs是一模一样的,就不展示了,可见我们的配置是灵活的也是多种多样的,那么这么多的配置方式同时配置同一个属性的时候,以什么为准呢?

配置的优先级

Spring Cloud Alibaba Nacos Config 目前提供了三种配置能力从 Nacos 拉取相关的配置。

  • A: 通过 spring.cloud.nacos.config.shared-configs[n].data-id 支持多个共享 Data Id 的配置
  • B: 通过 spring.cloud.nacos.config.extension-configs[n].data-id 的方式支持多个扩展 Data Id 的配置
  • C: 通过内部相关规则(应用名、应用名+ Profile )自动生成相关的 Data Id 配置

当三种方式共同使用时,他们的一个优先级关系是:A < B < C

当处于同一个方式里,就是谁在后用谁,extension-configs[n].data-id,也就是n越大越优先。

--------------最后感谢大家的阅读,愿大家技术越来越流弊!--------------

在这里插入图片描述

--------------也希望大家给我点支持,谢谢各位大佬了!!!--------------

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

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:01:50-

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