微服务----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注解就可以啦~

相关推荐
深海鱼在掘金7 小时前
深入浅出RAG——第8章:RAG 的局限性及应对策略
人工智能·架构
小Rr7 小时前
让 AI 读懂一份文档:从六块积木,到敢于做减法
架构
桦说编程7 小时前
盘点并发集合里那些容易误判的行为
java·后端·性能优化
starzy19908 小时前
SparkSQL 数据源与底层架构深度剖析
大数据·分布式·架构·spark
IT爱学堂8 小时前
java版数据结构和算法+AI算法和技能学习指南
java·开发语言
heimeiyingwang9 小时前
【架构实战】链路追踪与可观测性实践:从日志孤岛到全链路可见
架构
茫茫人海一粒沙9 小时前
Browser Automation for Coding Agents:六种架构方案深度对比
ai·架构
evans在进步9 小时前
LeetCode 394:字符串解码——Java 单栈模拟与嵌套解析详解
java·python·leetcode
Dawson Zhu9 小时前
为什么智能体 Agent 需要本体 Ontology
人工智能·语言模型·架构·制造·agi
重庆小透明9 小时前
深入探寻微服务【第四篇微服务监控实战】
微服务·云原生·架构