(五)Nacos开发教程之SpringCloud集成配置管理

简介: 微服务中的配置管理功能,SpringCloud中提供了SpringCloud Config组件来实现的,而SpringCloud Alibaba系列中则是通过Nacos来实现的。这样的话,Nacos除了服务治理功能,还实现了配置管理功能,功能的强大性就不说了,随着Nacos2的发布,各项功能的集成也已经实现。

前情回顾


我们在上一篇文章中讲述了SpringCloud项目集成Nacos服务注册功能,学习微服务的路上,已经迈出了第一步。


前面的文章里,我们暂时只讲述这些组件的基本集成,但是不要被我误导,这些只是基本使用,不能和实战相提并论,所以要想在真实的项目中使用这些组件,需要考虑的东西还会有很多。

这些我们之后有机会也会讲到的。


SpringCloud集成Nacos配置管理功能


微服务中的配置管理功能,SpringCloud中提供了SpringCloud Config组件来实现的,而SpringCloud Alibaba系列中则是通过Nacos来实现的。


这样的话,Nacos除了服务治理功能,还实现了配置管理功能,功能的强大性就不说了,随着Nacos2的发布,各项功能的集成也已经实现,这里如果大家有所兴趣,可以去官网上看一下版本更新日志。


在上篇文章的旧项目中进行集成


让我们把上篇文章中的项目复制一份出来,使用IDEA来打开它。


引入Nacos配置管理相关的jar包

<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>


配置Nacos配置管理的相关参数


修改application.yml文件

spring:
  application:
    name: demo-config
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml
        group: DEFAULT_GROUP
        prefix: ${spring.application.name}


增加config配置,

server-addr: nacos服务器地址

file-extension: 指定文件类型

group:配置分组

prefix:文件名称前缀,如果你配置了不同环境的话,这里只需要配置前缀,Nacos会根据你的环境不同加入不同的后缀。


在Nacos页面中进行配置的添加


我们打开nacos服务端页面,进入如下图菜单。


a8cfbfdd063ab83b98305c7122cc344.png


我们通常在此功能中添加相应的配置.


5e26401ef7d81bdebc059fc7b008eb6.png


我这里输入了一些参数,当我们运行项目时,会先加载我们本地的配置,随后加载这里的配置,如果相同的话,会被覆盖掉。


格外知识点


这里需要注意的是,我们平时使用的都是application配置文件,SpringCloud中有多了一个配置文件,那就是bootstrap配置文件。

这里需要提一下的是,bootstrap配置文件要优先于application配置文件执行,所以我们平时开发过程中,会在bootstrap文件中进行一些基础配置;其余的配置用于application配置文件来维护,或者是使用nacos配置管理中心来管理一些配置信息。


总结


Nacos配置中心目前已经成熟了,这里面我们还有一些点没有说到,那就是配置的灰度发布等功能,这个之后我们慢慢学习。


目录
相关文章
|
2月前
|
SpringCloudAlibaba Dubbo Java
SpringCloud Alibaba集成Dubbo实现远程服务间调用
SpringCloud Alibaba集成Dubbo实现远程服务间调用
|
5天前
|
负载均衡 Java 网络架构
在SpringCloud2023中快速集成SpringCloudGateway网关
本文主要简单介绍SpringCloud2023实战中SpringCoudGateway的搭建。后续的文章将会介绍在微服务中使用熔断Sentinel、鉴权OAuth2、SSO等技术。
30 2
在SpringCloud2023中快速集成SpringCloudGateway网关
|
14天前
|
JSON API 数据处理
【Swift开发专栏】Swift中的RESTful API集成实战
【4月更文挑战第30天】本文探讨了在Swift中集成RESTful API的方法,涉及RESTful API的基础概念,如HTTP方法和设计原则,以及Swift的网络请求技术,如`URLSession`、`Alamofire`和`SwiftyJSON`。此外,还强调了数据处理、错误管理和异步操作的重要性。通过合理利用这些工具和策略,开发者能实现高效、稳定的API集成,提升应用性能和用户体验。
|
16天前
|
IDE 测试技术 项目管理
集成开发环境(IDE)的使用:提升Visual Basic开发效率的工具和技巧
【4月更文挑战第27天】本文探讨了如何使用Visual Basic IDE提升开发效率,包括理解IDE组件、利用代码编辑器的智能功能、通过界面设计器设计GUI、使用调试和测试工具、有效管理项目与版本控制、掌握快捷键和宏、定制IDE以及利用学习资源。通过充分利用这些工具和技巧,开发者能更快地编写高质量代码,高效管理项目,从而提升整体开发效率。随着IDE的持续发展,开发者应不断学习新特性以适应进步。
|
24天前
|
前端开发 JavaScript 数据挖掘
《Solidity 简易速速上手小册》第9章:DApp 开发与 Solidity 集成(2024 最新版)(下)
《Solidity 简易速速上手小册》第9章:DApp 开发与 Solidity 集成(2024 最新版)
30 1
|
2天前
|
算法 Linux Windows
FFmpeg开发笔记(十七)Windows环境给FFmpeg集成字幕库libass
在Windows环境下为FFmpeg集成字幕渲染库libass涉及多个步骤,包括安装freetype、libxml2、gperf、fontconfig、fribidi、harfbuzz和libass。每个库的安装都需要下载源码、配置、编译和安装,并更新PKG_CONFIG_PATH环境变量。最后,重新配置并编译FFmpeg以启用libass及相关依赖。完成上述步骤后,通过`ffmpeg -version`确认libass已成功集成。
FFmpeg开发笔记(十七)Windows环境给FFmpeg集成字幕库libass
|
13天前
|
缓存 NoSQL Java
springboot业务开发--springboot集成redis解决缓存雪崩穿透问题
该文介绍了缓存使用中可能出现的三个问题及解决方案:缓存穿透、缓存击穿和缓存雪崩。为防止缓存穿透,可校验请求数据并缓存空值;缓存击穿可采用限流、热点数据预加载或加锁策略;缓存雪崩则需避免同一时间大量缓存失效,可设置随机过期时间。文章还提及了Spring Boot中Redis缓存的配置,包括缓存null值、使用前缀和自定义过期时间,并提供了改造代码以实现缓存到期时间的个性化设置。
|
13天前
|
网络协议 数据可视化 Shell
最详细的Mac下安装nacos教程来了
最详细的Mac下安装nacos教程来了
|
13天前
|
前端开发 定位技术 API
【Flutter前端技术开发专栏】Flutter中的第三方服务集成(如支付、地图等)
【4月更文挑战第30天】本文介绍了在Flutter中集成第三方服务,如支付和地图,以增强应用功能和用户体验。开发者可通过官方或社区插件集成服务,关注服务选择、API调用、错误处理和用户体验。支付集成涉及选择服务、获取API密钥、引入插件、调用API及处理结果。地图集成则需选择地图服务、获取API密钥、初始化地图并添加交互功能。集成时注意选择稳定插件、阅读文档、处理异常、优化性能和遵循安全规范。随着Flutter生态发展,更多第三方服务将可供选择。
【Flutter前端技术开发专栏】Flutter中的第三方服务集成(如支付、地图等)
|
13天前
|
Dart 前端开发 Android开发
【Flutter前端技术开发专栏】Flutter与原生代码的集成与交互
【4月更文挑战第30天】本文探讨了如何在Flutter中集成和交互原生代码,以利用特定平台的API和库。当需要访问如蓝牙、特定支付SDK或复杂动画时,集成原生代码能提升效率和性能。集成方法包括:使用Platform Channel进行通信,借助现有Flutter插件,以及Android和iOS的Embedding。文中通过一个电池信息获取的例子展示了如何使用`MethodChannel`在Dart和原生代码间传递调用。这些技术使开发者能充分利用原生功能,加速开发进程。
【Flutter前端技术开发专栏】Flutter与原生代码的集成与交互