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注解获得配置参数
多环境配置共享
优先级:
标签:spring,Nacos,alibaba,实例,nacos,cloud From: https://www.cnblogs.com/poteitoutou/p/16972379.html[服务器名]-[环境].yaml>[服务器名].yaml>本地配置