SpringCloud Alibaba 配置中心功能

这篇具有很好参考价值的文章主要介绍了SpringCloud Alibaba 配置中心功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、快速入门

1、创建工程nacos-client7777

pom

   <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>springcloud_alibaba</artifactId>
        <groupId>com.liming</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>nacos-client7777</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--SpringCloud Alibaba nacos-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>
    </dependencies>
</project>

application.yml

spring:
  profiles:
    active: dev #表示开发环境

bootstrap.yml

server:
  port: 7777

spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 # nacos服务注册中心地址
      config:
        server-addr: localhost:8848 # nacos作为配置中心地址
        file-extension: yaml # 指定yaml格式的配置
        group: BJ_GROUP
        namespace: e1bd77d5-f676-4e41-9007-a1a188f74cbf

#${prefix}-${spring.profiles.active}.${file-extension}
#${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
# nacos-config-client-dev.yaml

主启动类@EnableDiscoveryClient

package com.liming.nacos;

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

/**
 * @author 黎明
 * @date 2023/5/14 13:09
 * @version 1.0
 */
@SpringBootApplication
@EnableDiscoveryClient
public class NacosClient7777App {
    public static void main(String[] args) {
        SpringApplication.run(NacosClient7777App.class,args);
    }
}

controller

package com.liming.nacos.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.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author 黎明
 * @date 2023/5/14 13:10
 * @version 1.0
 */
@RestController
@RequestMapping("/config")
@RefreshScope // 开启刷新功能
public class ConfigClientController {
    @Value("${name}")
    String name;

    @GetMapping("/name")
    public String name(){
        return name;
    }
}

在Nacos中添加配置信息

https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html
SpringCloud Alibaba 配置中心功能

SpringCloud Alibaba 配置中心功能

测试:http://localhost:7777/config/name

SpringCloud Alibaba 配置中心功能

注意:因为添加了@RefreshScope注解,所以我们更改配置信息内容,会动态刷新

二、分类配置

SpringCloud Alibaba 配置中心功能

  • 问题1:实际开发中,通常一个系统会准备dev/test/prod环境。如何保证环境启动时服务能正确读取nacos上相应环境的配置文件?

答案:namespace区分

  • 问题2:一个大型分布式微服务系统有很多微服务子项目,每个微服务项目又都会有相应的开发环境、测试环境、预发环境、正式环境。那怎么对微服务配置进行管理呢?

答案:用group把不同的微服务划分到同一个分组里面去

dgn方案:

1、DataId方案(就是nacos文件名)

指定spring.profile.active和配置文件的DataID来使不同环境下读取不同的配置
配置空间+配置分组+新建dev和test两个dataid:就是创建后不同的两个文件名nacos-config-client-dev.yamlnacos-config-client-test.yaml 通过IDEA里的spring.profile.active属性就能进行多环境下配置文件的读取。

2、Group方案(默认DEFAULT_GROUP)

在nacos创建配置文件时,给文件指定分组。 在IDEA中该group内容实现的功能:当修改开发环境时,只会从同一group中进行切换。

spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #Nacos服务注册中心地址
      config:
        server-addr: localhost:8848 #Nacos作为配置中心地址
        file-extension: yaml #指定yaml格式的配置
        group: BJ_GROUP

3、namespace方案(默认public)

这个是不允许删除的,可以创建一个新的命名空间,会自动给创建的命名空间一个流水号。 在nacos新建命名空间,自动出现e1bd77d5-f676-4e41-9007-a1a188f74cbf

SpringCloud Alibaba 配置中心功能

在IDEA的yml中指定命名空间namespace: e1bd77d5-f676-4e41-9007-a1a188f74cbf

spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 # nacos服务注册中心地址
      config:
        server-addr: localhost:8848 # nacos作为配置中心地址
        file-extension: yaml # 指定yaml格式的配置
        group: BJ_GROUP
        namespace: e1bd77d5-f676-4e41-9007-a1a188f74cbf

最后,dataid、group、namespace 三者关系如下:(不同的dataid,是相互独立的,不同的group是相互隔离的,不同的namespace也是相互独立的)

SpringCloud Alibaba 配置中心功能文章来源地址https://www.toymoban.com/news/detail-444966.html

到了这里,关于SpringCloud Alibaba 配置中心功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringCloud Alibaba 之 Config配置中心,Redis分布式锁详解

    目录 1.服务配置中心 1.1 服务配置中心介绍  1.2 Nacos Config 实践 1.2.1 Nacos config 入门案例  1.2.2  Nacos 配置动态刷新 1.2.3 配置共享 1.2.4 nacos 几个概念   2.分布式锁 2.1 分布式锁介绍  2.2 Redisson  2.2.1 Redisson 实践  2.2.2 Redisson 原理   首先我们来看一下,微服务架构下关于配置文件

    2024年02月04日
    浏览(29)
  • SpringCloud Alibaba集成 Gateway(自定义负载均衡器)、Nacos(配置中心、注册中心)、Loadbalancer

    路由(route):路由是网关最基础的部分,路由信息由一个ID,一个目的URL、一组断言工厂和一 组Filter组成。如果断言为真,则说明请求URL和配置的路由匹配。 断言(Predicate):Java8中的断言函数,Spring Cloud Gateway中的断言函数输入类型是 Spring5.0框架中的ServerWebExchange。Sprin

    2024年04月12日
    浏览(45)
  • Java之SpringCloud Alibaba【三】【微服务Nacos-config配置中心】

    Java之SpringCloud Alibaba【一】【Nacos一篇文章精通系列】 跳转 Java之SpringCloud Alibaba【二】【微服务调用组件Feign】 跳转 Java之SpringCloud Alibaba【三】【微服务Nacos-config配置中心】 跳转 Java之SpringCloud Alibaba【四】【微服务 Sentinel服务熔断】 跳转 Java之SpringCloud Alibaba【五】【微服务

    2024年02月16日
    浏览(38)
  • SpringCloud(17~21章):Alibaba入门简介、Nacos服务注册和配置中心、Sentinel实现熔断与限流、Seata处理分布式事务

    Spring Cloud Netflix项目进入维护模式 https://spring.io/blog/2018/12/12/spring-cloud-greenwich-rc1-available-now 说明 Spring Cloud Netflix Projects Entering Maintenance Mode 什么是维护模式 将模块置于维护模式,意味着 Spring Cloud 团队将不会再向模块添加新功能。我们将修复 block 级别的 bug 以及安全问题,我

    2024年01月19日
    浏览(48)
  • SpringCloud Alibaba--nacos简介和注册中心和登录

    目录 一.理论基础 二.nacos 2.1 简介 2.2 安装 三.父项目 三.生产者 3.1 配置依赖 3.2 配置文件 3.3 启动类 3.4 控制类 四.消费者 4.1 配置依赖 4.2 配置文件 4.3 启动类 4.4 feign的接口 五.效果 六.负载均衡--权重算法 6.1重启nacos 6.2 设置权重 6.3 设置配置 6.4 效果 SpringCloudAlibaba-登录 1.登录

    2024年04月26日
    浏览(27)
  • 【云原生】SpringCloud Alibaba 之 Nacos注册中心实战

    注册中心, 也称命名服务(Naming servive), 它的核心功能与DNS服务类似, 无非就是通过一个特定的名字来查找相关的实例集合, 但是它们也有很多不同点 Nacos与eureka的共同点 都支持服务注册和服务拉取 都支持服务提供者心跳方式做健康检测 Nacos与Eureka的区别 Nacos支持服务端主动检

    2024年02月03日
    浏览(70)
  • SpringCloud(H版&alibaba)框架开发教程,使用eureka,zookeeper,consul,nacos做注册中心——附源码(1)

    源码地址:https://gitee.com/jackXUYY/springboot-example 创建订单服务,支付服务,公共api服务(共用的实体),eureka服务 1.cloud-consumer-order80 2.cloud-provider-payment8001 3.cloud-api-commons 4.cloud-eureka-server7001 5.cloud-eureka-server7002 如图所示 修改本地host映射 修改数据库地址为自己的地址,并初始

    2024年02月03日
    浏览(38)
  • Spring Cloud Alibaba nacos配置中心

    第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Spring Cloud Netflix 之 Hystrix 第九章 代码管理gitlab 使用 第十章 Spr

    2024年02月08日
    浏览(38)
  • Spring Cloud Alibaba 微服务2,注册中心演变 + Nacos注册中心与配置中心

    🏆作者简介: 哪吒 ,CSDN2022博客之星Top1、CSDN2021博客之星Top2、多届新星计划导师✌、博客专家💪 , 专注Java硬核干货分享,立志做到Java赛道全网Top N。 🏆本文收录于 Java基础教程系列(进阶篇) ,本专栏是针对大学生、初级Java工程师精心打造, 针对Java生态,逐个击破,

    2024年02月02日
    浏览(38)
  • Spring Cloud Alibaba Nacos 构建配置中心

    登录 Nacos 面板,依次点击左侧菜单栏【命名空间→新建命名空间】、填写命名空间名和描述信息,点击【确定】: 依次点击左侧菜单栏【配置管理→配置列表】、切换到指定命名空间【此处为 shop】、点击右侧【+】号: 添加配置 填写【Data ID】要求组内唯一,【Group】组名,

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包