微服务----nacos配置及简单使用

目录

什么是nacos

项目在nacos上进行注册

注入nacos依赖

配置application.yml文件

nacos写入配置文件

首先,还是需要导入依赖

然后在nacos中编写配置文件

prod是我自定义的一个命名空间,在这里面进行配置文件编写~

启动类上加上注解

编写PatternParameter类

[​编辑 配置文件热更新](#编辑 配置文件热更新)


从本篇博文开始的后几篇都是有关微服务的学习,本博主最近刚学完微服务想记录一下自己的学习情况,因此接下来的几篇文章都是根据我的项目实际而言的,希望也能帮助到各位~

这篇文章现代大家简单的了解nacos是干嘛的以及在项目中如何进行使用~

什么是nacos

Nacos 提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。Nacos 支持传输层 (PING 或 TCP)和应用层 (如 HTTP、MySQL、用户自定义)的健康检查。 对于复杂的云环境和网络拓扑环境中(如 VPC、边缘网络等)服务的健康检查,Nacos 提供了 agent 上报模式和服务端主动检测2种健康检查模式。Nacos 还提供了统一的健康检查仪表盘,帮助您根据健康状态管理服务的可用性及流量。简单来说nacos就是注册服务用的。 具体解释请看官网文档:Nacos 架构

由于刚开始接触,所以我们这里不讲太多原理,先来搞清楚怎么使用,接下来我将默认你的电脑中已经有了nacos且已经启动,没有的请看下面这篇文章:nacos下载(详解版)

项目在nacos上进行注册

注入nacos依赖

java 复制代码
 <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

配置application.yml文件

其中server-addr后面的地址是我本地的nacos地址,如果你的nacos是安装在linux上面的就写上你linux的ip。

以上就是配置nacos的具体过程,还是很简单的是吧~

当然,如果你要实现在nacos配置配置文件,也是可以的~

nacos写入配置文件

首先,还是需要导入依赖

java 复制代码
       <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
            <version>3.0.1</version>
        </dependency>
        <!--        nacos配置管理依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
          <!--nacos的管理依赖-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2021.0.5.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

然后在nacos中编写配置文件

prod是我自定义的一个命名空间,在这里面进行配置文件编写~

以上部分分别是nacos里面和我的idea里面对应的配置截图,其中每一个箭头对应的部分必须一致,不然很可能会找不到你在nacos中配置的文件信息,当然nacos的Data ID明明是有一定规则的,名字默认为:{prefix}-{spring.profiles.active}.${file-extension}

prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置(即配置在nacos上的服务名)。

spring.profiles.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 {prefix}.{file-extension}

file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。

启动类上加上注解

编写PatternParameter类

其中的prefix="pattern"是我们在nacos的配置文件中的配置的前缀

然后再控制器中我们使用@Autowired注解注入这个类就可以进行使用啦~

配置文件热更新

当然,我们可能会时不时修改配置文件,但是修改后需要重启项目,对于部署在服务器上的项目而言是行不通的,所以我们需要对配置文件进行热更新,具体做法如下:

没错,只需要加入@RefreshScope注解就可以啦~

相关推荐
计算机毕业设计杰瑞3 小时前
【计算机毕设精品】基于SpringBoot的一体化教务与学业质量管理系统的设计与实现,附源码_增删改查_java项目_可完美运行部署_网站项目
java·spring boot·课程设计
小白学大数据3 小时前
拼多多反爬对抗实战:Scrapy 中间件化采集架构解析
开发语言·scrapy·中间件·架构
茵Cindy3 小时前
AI+HR智能体架构如何落地?从入口到生态底座的工程实现
人工智能·架构·ai+hr
colinu3 小时前
C++ 异步任务与线程生命周期:`std::async`、`future`、`thread`、`jthread` 与协作式退出
java·jvm·c++
蜗牛互联网4 小时前
Python + JSON Schema 实现工单结构化输出与本地复核
java·人工智能·后端
逐光者9334 小时前
STM32——SPI 屏 · Flash · 高速
java·前端·stm32
wuminyu4 小时前
ForkJoinPool窃取线程在扫描其他WorkQueue时的随机采样算法与Phase线程挂起唤醒机制解析
java·linux·c语言·jvm·c++
骇客野人4 小时前
微服务多级缓存架构设计
缓存·微服务·架构
Sarvartha4 小时前
内部类知识
java·开发语言
Knight_AL4 小时前
从 EasyExcel 到 Apache Fesod:Java Excel 处理生态的一次重构
java·apache·excel