SpringCloud-搭建Nacos配置中心
创始人
2024-12-01 17:03:36
0

一、Nacos 功能介绍

Nacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一个分布式服务注册、配置管理,以及服务健康管理平台。在微服务架构中,配置管理是至关重要的一环,Nacos 提供了可靠、动态的配置管理功能,为分布式系统的配置中心提供了便捷的解决方案。

Nacos的主要功能图:

Nacos 除了可以作为服务的注册中心,同样可以作为集中管理配置信息的配置中心来使用。我们通过在 Nacos 的控制台中对配置信息进行修改,可以直接作用到应用,避免应用的重新发布,这个过程叫配置的热更新。

下面我们就来一步一步介绍如何在 Spring Cloud 微服务项目里搭建 Nacos 配置中心。


二、安装 Nacos

Nacos的安装相对简单,首先需要从官方网站下载最新版本的Nacos Server压缩包。解压后,通过执行相应的启动脚本,即可启动Nacos服务。在启动过程中,可以通过修改配置文件来配置Nacos的各项参数,例如数据库配置、端口号等。

可以参考我之前写过的这篇文章:SpringCloud-搭建Nacos服务中心


三、项目引入 Nacos

首先我们准备好或者创建一个微服务项目,如果不会创建,可以参考:

SpringCloud-创建多模块项目

项目准备好之后,我们引入 Nacos,引入注册中心的流程可以参考下面的文章:

SpringCloud-项目引入Nacos

这次,由于我们需要使用到 Nacos 配置管理的功能,所以每个服务模块的 pom.xml 里还需要引入用于 Nacos 配置管理的 jar 包:

      org.springframework.cloud     spring-cloud-starter-alibaba-nacos-config  


四、Nacos控制台新建配置

我们访问 Nacos 的控制台页面,Nacos 控制台默认地址是 localhost:8848/nacos,创建配置:

配置起名为:springcloud-provider.yaml,类型选为 YAML 类型,配置内容我们写一个时间格式:

pattern:     dateformat: yyyy-MM-dd HH:mm:ss

其他内容我们先不写,Namespace 用于指定命名空间来实现环境隔离,Namespace 是最外层的环境,向内依次是 Group 和服务。

点击发布,可以看到这条配置已经显示在控制台了。

创建配置成功,接着,我们要去实现项目读取 Nacos 上的配置。 


五、微服务项目读取配置

1、创建bootstrap.yml文件

在 /resource 文件夹下创建 bootstrap.yml 文件,和原先的 application.yml 配置文件平级,并将原先配置文件中的 nacos 配置的部分移动到优先级更高的文件 bootstrap.yml 里。

bootstrap.yml:

server:   #程序端口号   port: 8083 spring:   application:     name: springcloud-provider   profiles:     active: dev   cloud:     nacos:       config:         file-extension: yaml         username: nacos         password: nacos         server-addr: 127.0.0.1:8848       discovery:         server-addr: 127.0.0.1:8848

原先的 application.yml 变成:

management:   endpoints:     web:       exposure:         #公开所有端点         include: '*'


2、增加bootstrap.yml的读取依赖

每个想要进行 Nacos 配置管理的服务模块,不仅需要创建 bootstrap.yml 文件,还需要引入能够在项目启动时自动发现并加载 bootstrap.yml 文件的依赖,在 pom.xml 里添加:

     org.springframework.cloud     spring-cloud-starter-bootstrap     3.0.1 

这样在在项目启动时,bootstrap.yml 文件就可以自动被发现并加载了。


3、编写读取配置信息的接口

在 Spring Cloud 项目中,我们可以通过注入 @Value 注解来读取 Nacos 中的配置信息。

创建 ConfigController 类:

package com.example.springcloudprovider.demos.web;  import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.web.bind.annotation.*;  @RestController @RequestMapping("/config") @RefreshScope public class ConfigController {      @Value("${pattern.dateformat}")     private String dateformat;      @GetMapping("dateformat")     public String now(){         return dateformat;     }  } 


4、测试读取配置信息

启动项目,访问测试接口:localhost:8083/config/dateformat

可以看到我们在 Nacos 上配置的日期格式已经被加载到项目里了。


六、测试Nacos对配置热更新

1、修改Nacos上配置内容

我们在 Nacos 控制台里修改配置,将 dateformat 改为 yyyy-MM-dd HH:mm:ssss


2、查看项目内配置是否更新

再次访问测试接口:localhost:8083/config/dateformat

可以看到我们的项目配置已经被热更新了,即配置实时更新,不需要重新启动或部署项目。

相关内容

热门资讯

正规平台有哪些,金花房卡批发九... 正规平台有哪些,金花房卡批发九哥联盟/房卡怎么搞Sa9Ix苹果iPhone 17手机即将进入量产阶段...
一分钟了解!牛牛房卡哪里有卖的... 今 日消息,九神联盟房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单...
头条推荐!金花房卡是正规的嫦娥... 嫦娥大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
微信房卡斗牛金花有透视吗/金花... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来享受...
两秒就懂!微信斗牛在哪里充值房... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:66336574许多玩家在游戏中会购买房卡来享受...
头条推荐!金花房卡怎么购买旺旺... 头条推荐!金花房卡怎么购买旺旺大厅/微信链接房卡最低价格旺旺大厅是一款非常受欢迎的游戏,咨询房/卡添...
两秒就懂!拼三张微信房卡怎么购... 拼三张是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:56001354许多玩家在游戏中会购买房卡来享...
微信炸金花房卡到哪里买/炸金花... 微信炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房...
ia攻略/牛牛房卡制作链接卡贝... 微信游戏中心:卡贝大厅/新上游房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或...
玩家攻略,金花房卡官网战神联盟... 战神联盟是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
科技实测!牛牛房卡哪里有卖的光... 科技实测!牛牛房卡哪里有卖的光明联盟/房卡怎么买Sa9Ix苹果iPhone 17手机即将进入量产阶段...
正规平台有哪些,游戏推荐斗牛房... 凤凰大厅房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...
微信炸金花链接怎样弄/微信房卡... 微信炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:15984933许多玩家在游戏中会购买房卡...
两秒就懂!炸金花房卡怎么弄,乐... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:71319951许多玩家在游戏中会购买房卡来享...
一分钟了解!斗牛房卡充值详心联... 详心联盟是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
头条推荐!牛牛充值房卡热玩吧/... 今 日消息,热玩吧房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单介...
ia攻略/游戏推荐牛牛房卡出售... 新海贝大厅/新神兽房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 ...
科技实测!微信金花房卡怎么弄天... 微信游戏中心:天蝎大厅房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
金花房卡在哪获取/微信牛牛链接... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来享受...
两秒就懂!微信玩斗牛怎么买房卡... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:66336574许多玩家在游戏中会购买房卡来享受...