首页 > 其他分享 >Spring Cloud Alibaba [Nacos]配置中心。

Spring Cloud Alibaba [Nacos]配置中心。

时间:2024-10-23 14:20:08浏览次数:8  
标签:spring 配置 Nacos Alibaba nacos Spring config cloud

一 启动配置管理

1 添加依赖:

2 在 bootstrap.properties 中配置 Nacos server 的地址和应用名

3 添加配置并编写controller类

4 启动项目,访问配置文件与地址

二 Nacos配置

1 在Nacos页面的配置管理-配置列表中添加配置信息【Data Id】

2 命名空间

2.1命名空间:配置隔离

2.2 同样的在prod生产环境配置相同的配置信息

2.3 每个微服务之间互相隔离配置,每一个微服务都创建自己的命名空间,只加载自己命名空间下的所有配置

​编辑3 配置集/配置集ID/配置分组

3.1 默认所有的配置集都属于:DEFAULT_GROUP

3.2 从配置中心中同时加载多个配置集


        Nacos的全称是Dynamic Naming and Configuration Service,Na为naming/nameServer即注册中心,co为configuration即注册中心,service是指该注册/配置中心都是以服务为核心。是阿里巴巴开源易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

        Nacos 致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

        本文主要介绍Nacos 融合 Spring Cloud,成为配置中心

一 启动配置管理

1 添加依赖:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>${latest.version}</version>
</dependency>

注意:版本 2.1.x.RELEASE 对应的是 Spring Boot 2.1.x 版本。版本 2.0.x.RELEASE 对应的是 Spring Boot 2.0.x 版本,版本 1.5.x.RELEASE 对应的是 Spring Boot 1.5.x 版本。

更多版本对应关系参考:版本说明 Wiki

2 在 bootstrap.properties 中配置 Nacos server 的地址和应用名

spring.cloud.nacos.config.server-addr=127.0.0.1:8848

spring.application.name=mall-coupon

说明:之所以需要配置 spring.application.name ,是因为它是构成 Nacos 配置管理 dataId字段的一部分。

3 添加配置并编写controller类

#application.properties中添加配置
coupon.user.name=couponserver

在CouponController中添加@RefreshScope注解,表示可以实时动态刷新nacos配置文件的信息

@RefreshScope
@RestController
@RequestMapping("coupon/coupon")
public class CouponController {
    @Value("${coupon.user.name}")
    private String username;

    @RequestMapping("/config")
    public R config(){
        return R.ok().put("memberList", username);
    }
}

4 启动项目,访问配置文件与地址

二 Nacos配置

1 在Nacos页面的配置管理-配置列表中添加配置信息【Data Id】

重新启动项目访问地址:

此时可以实现粗颗粒度的Nacos的动态配置

2 命名空间

2.1命名空间:配置隔离

 默认:public(保留空间):默认新增的所有配置都在public空间。

可以创建开发、测试、生产三种环境,利用命名空间来做环境隔离。

2.2 同样的在prod生产环境配置相同的配置信息

 在配置文件中添加prod对应的id,如果不定义命名空间,则默认使用public中的配置文件, 注意:在bootstrap.properties配置上,需要使用哪个命名空间下的配置

spring.application.name=mall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=bc61884b-4bb0-43bf-be7d-b8cb229202de

重启服务测试接口:

2.3 每个微服务之间互相隔离配置,每一个微服务都创建自己的命名空间,只加载自己命名空间下的所有配置


3 配置集/配置集ID/配置分组

配置集:所有的配置的集合

配置集ID:类似文件名
Data ID:类似文件名

配置分组


3.1 默认所有的配置集都属于:DEFAULT_GROUP

在同一个命名空间下,可以配置多个分组

在程序中,如果想使用prod这个分组的配置信息,则需要在bootstrap.properties文件添加以下配置:

spring.application.name=mall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=97b235bf-2357-4e43-a74d-369ebf0dced6
spring.cloud.nacos.config.group=dev

测试接口

3.2 从配置中心中同时加载多个配置集

1、将application.yml文件中的配置信息分离,数据库配置的放在一个配置里面,mybatis的相关信息放在一个配置里面,其他的放在other.yml文件中

2、将application.yml文件注释掉


3、在bootstrap.properties文件中配置:

spring.application.name=mall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=97b235bf-2357-4e43-a74d-369ebf0dced6
spring.cloud.nacos.config.group=dev

spring.cloud.nacos.config.ext-config[0].data-id=datasource.yml
spring.cloud.nacos.config.ext-config[0].group=dev
spring.cloud.nacos.config.ext-config[0].refresh=true

spring.cloud.nacos.config.ext-config[1].data-id=mybatis.yml
spring.cloud.nacos.config.ext-config[1].group=dev
spring.cloud.nacos.config.ext-config[1].refresh=true

spring.cloud.nacos.config.ext-config[2].data-id=other.yml
spring.cloud.nacos.config.ext-config[2].group=dev
spring.cloud.nacos.config.ext-config[2].refresh=true

标签:spring,配置,Nacos,Alibaba,nacos,Spring,config,cloud
From: https://blog.csdn.net/HAN_789/article/details/143011864

相关文章

  • Java程序员最好的AI框架,伴随着Spring到来了
    SpringAI:简化AI集成的Java框架在过去,Java缺乏一个优秀的AI应用框架,这使得开发者在整合不同AI提供商的服务时面临诸多不便。SpringAI的出现填补了这一空白。它是一个专为AI工程设计的应用框架,旨在将Spring生态系统的设计原则(如可移植性和模块化)引入到AI领域,并提......
  • Springboot餐饮结算系统v20h7
    Springboot餐饮结算系统v20h7本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能:用户,菜品分类,菜品信息开题报告内容一、研究背景与意义随着餐饮行业的快速发展,餐饮企业对高效、准确、智能化的餐饮......
  • Springbootspringboot微服务车站寄存柜管理系统oan92
    Springbootspringboot微服务车站寄存柜管理系统oan92本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能:用户,寄存柜,计价规则,用户等级,寄存订单,寄存结束,用户反馈,反馈回复,寄存柜位置开题报告内容......
  • Spring中导致事务传播失效的情况(自调用、方法访问权限、异常处理不当、传播类型选择
    文章目录1.自调用(内部调用)导致事务失效示例:解决办法:2.事务方法不是`public`修饰示例:解决办法:3.未被Spring管理的对象示例:解决办法:4.异常类型不匹配导致事务回滚失败示例:解决办法:5.传播类型使用不当示例:解决办法:6.数据库本身不支持事务解决办法:7.使用了......
  • 【JAVA毕业设计】基于Vue和SpringBoot的课程作业管理系统
    本文项目编号T023,文末自助获取源码\color{red}{T023,文末自助获取源码}......
  • 【JAVA毕业设计】基于Vue和SpringBoot的大学生入学审核系统
    本文项目编号T022,文末自助获取源码\color{red}{T022,文末自助获取源码}......
  • Spring Boot框架:打造可扩展的论坛网站
    4系统概要设计4.1概述本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:图4-1系统工作原理图4.2系统结构本系统......
  • SpringBoot 单元测试 - 登录认证在 Spring Boot 上的标准单元测试写法。
    ......
  • Spring Boot论坛网站:开发、部署与管理
    3系统分析3.1可行性分析通过对本论坛网站实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。3.1.1技术可行性本论坛网站采用SSM框架,JAVA作为开发语言,是基于WEB平台的B/S架构系统。(1)Java......
  • springboot优质鸭梨的培育管理系统-计算机毕业设计源码92834
    目录摘要1绪论1.1选题背景与意义1.2国内外研究现状1.3论文结构与章节安排2系统分析2.1可行性分析2.2系统流程分析2.2.1数据流程2.2.2业务流程2.3 系统功能分析2.3.1功能性分析2.3.2非功能性分析2.4 系统用例分析2.5本章小结3 系统......