Nacos

image-20221208152149850

Nacos

安装&启动

image-20221208155247160image-20221208155337667

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 控制台信息image-20221208161800303

服务分级存储模型

  1. 服务
  2. 集群
  3. 实例

spring.cloud.nacos.discovery.cluster-name: <集群名称>

image-20221209230014657

配置命名空间

  • namespace用来做环境隔离

  • 每个namespace都有唯一的ID

  • 不同的namespace下的服务不可见

spring.cloud.nacos.discovery.namespace: <nacos服务前台创建的命名空间的ID>

image-20221209230024457

临时实例和非临时实例的区别

临时实例

非临时实例

image-20221209225813327

控制台显示为非临时实例

image-20221209230111873

对于非临时实例当服务停掉时,并不会从列表中删除,只会显示当前的健康状态为不健康

Nacos配置管理

导入Maven坐标

<!-- nacos配置管理依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

添加bootstrap.yml文件

image-20221209234017069

spring:
application:
name: userservice # 服务名称
profiles:
active: dev # 环境名
cloud:
nacos:
server-addr: localhost:9998 # nacos地址
config:
file-extension: yaml # 配置文件后缀名

image-20221209234912673image-20221209234936228

Nacos配置热更新

  1. value注解所在的类上添加@RefreshScope

image-20221209235420594

  1. 使用@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注解获得配置参数

image-20221210000318530

多环境配置共享

image-20221210200238809

优先级:

[服务器名]-[环境].yaml>[服务器名].yaml>本地配置

posted @   破忒头头  阅读(320)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示