Nacos
Nacos
安装&启动
Nacos作为注册中心
从Eureka切换到Nacos
Maven父工程加入alibaba的Nacos管理依赖
<!-- Nacos管理依赖--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.5.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency>
在各个服务中加入Nacos的Maven依赖
<!-- eureka--> <!-- <dependency>--> <!-- <groupId>org.springframework.cloud</groupId>--> <!-- <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>--> <!-- </dependency>--> <!-- nacos--> <!-- nacos客户端依赖包 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> </dependencies>
在application.yml中修改Spring下的配置
spring: cloud: nacos: server-addr: localhost:9998
Nacos 控制台信息
服务分级存储模型
- 服务
- 集群
- 实例
spring.cloud.nacos.discovery.cluster-name: <集群名称>
配置命名空间
namespace用来做环境隔离
每个namespace都有唯一的ID
不同的namespace下的服务不可见
spring.cloud.nacos.discovery.namespace: <nacos服务前台创建的命名空间的ID>
临时实例和非临时实例的区别
临时实例
非临时实例
控制台显示为非临时实例
对于非临时实例当服务停掉时,并不会从列表中删除,只会显示当前的健康状态为不健康
Nacos配置管理
导入Maven坐标
<!-- nacos配置管理依赖--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>
添加bootstrap.yml文件
spring: application: name: userservice # 服务名称 profiles: active: dev # 环境名 cloud: nacos: server-addr: localhost:9998 # nacos地址 config: file-extension: yaml # 配置文件后缀名
Nacos配置热更新
- value注解所在的类上添加@RefreshScope
- 使用@ConfigurationProperties注解
package cn.itcast.user.config; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; /** * @author Pickle * @version V1.0 * @date 2022/12/10 0:00 */ @Data @Component @ConfigurationProperties(prefix = "pattern") public class PatternProperties { private String dateformat; }
通过@Autowired注解获得配置参数
多环境配置共享
优先级:
[服务器名]-[环境].yaml>[服务器名].yaml>本地配置
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理