【Spring Cloud】之Nacos

cnblogs 2024-07-12 12:09:00 阅读 94

——笔记源于黑马

在这里插入图片描述

使用Nacos

  1. 启动Nacos

<code>startup.cmd -m standalone 单机启动Nacos

  1. 在父工程pom.xml引入依赖

<code> <!--spring cloud alibaba-->

<dependency>

<groupId>com.alibaba.cloud</groupId>

<artifactId>spring-cloud-alibaba-dependencies</artifactId>

<version>2.2.6.RELEASE</version>

<type>pom</type>

<scope>import</scope>

</dependency>

  1. 在微服务pom.xml中引入nacos客户端依赖

<code> <!--Nacos客户端依赖-->

<dependency>

<groupId>com.alibaba.cloud</groupId>

<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>

</dependency>

  1. 在微服务application.yml中配置nacos地址

<code>spring:

cloud:

nacos:

server-addr: localhost:8848 #nacos服务地址

配置集群和负载均衡

  1. 设置集群

spring:

cloud:

nacos:

server-addr: localhost:8848 #nacos服务地址

discovery:

cluster-name: HZ #配置集群名称

  1. 配置Nacos负载均衡

    在服务使用者中添加配置

<code>userservice:

ribbon:

NFloadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule #配置Nacos负载均衡策略

在这里插入图片描述

Nacos设置权重

点击编辑按钮设置权重

在这里插入图片描述

在这里插入图片描述

设置环境隔离

<code>spring:

cloud:

nacos:

discovery:

namespace: xxx #命名空间ID

Nacos和Eureka的区别

在这里插入图片描述

设置是否是临时实例

<code>spring:

cloud:

nacos:

discovery:

ephemeral: false #是否是临时实例

在这里插入图片描述

Nacos配置管理

在这里插入图片描述

  1. 在Nacos中新建统一配置

    在这里插入图片描述

  2. 在微服务中引入nacos配置管理依赖

<code> <!--Nacos客户端配置管理依赖-->

<dependency>

<groupId>com.alibaba.cloud</groupId>

<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>

</dependency>

  1. 新建bootstrap.yml 添加如下配置:

<code>spring:

application:

name: userservice #服务名称

profiles:

active: dev #开发环境,这里是dev

cloud:

nacos:

server-addr: localhost:8848 #Nacos地址

config:

file-extension: yaml #文件后缀名

  1. 测试是否拿到nacos中的配置 UserController.java

<code>@Value("${pattern.dateformat}")

private String dateformat;

@GetMapping("now")

public String now(){

return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));

}

访问http://localhost:8081/user/now显示结果

在这里插入图片描述

配置热更新

方式一:通过@Value注入,在UserController上加上@RefreshScope注解实现nacos配置热更新

方式二:通过@ConfigurationProperties(prefix = "pattern")注入,自动刷新



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。