【Spring Cloud】之Nacos
  xvFyktnBkteb 2024年08月07日 23 0

——笔记源于黑马

在这里插入图片描述

使用Nacos

  1. 启动Nacos
startup.cmd -m standalone  单机启动Nacos
  1. 在父工程pom.xml引入依赖
 <!--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客户端依赖
 <!--Nacos客户端依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
  1. 在微服务application.yml中配置nacos地址
spring:
  cloud:
    nacos:
      server-addr: localhost:8848 #nacos服务地址

配置集群和负载均衡

  1. 设置集群
spring:
  cloud:
    nacos:
      server-addr: localhost:8848 #nacos服务地址
      discovery:
        cluster-name: HZ #配置集群名称
  1. 配置Nacos负载均衡
    在服务使用者中添加配置
userservice:
  ribbon:
    NFloadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule #配置Nacos负载均衡策略

在这里插入图片描述

Nacos设置权重

点击编辑按钮设置权重
在这里插入图片描述
在这里插入图片描述

设置环境隔离

spring:
  cloud:
    nacos:
      discovery:
        namespace: xxx  #命名空间ID

Nacos和Eureka的区别

在这里插入图片描述
设置是否是临时实例

spring:
  cloud:
    nacos:
      discovery:
        ephemeral: false #是否是临时实例

在这里插入图片描述

Nacos配置管理

在这里插入图片描述

  1. 在Nacos中新建统一配置
    在这里插入图片描述

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

 <!--Nacos客户端配置管理依赖-->
 <dependency>
     <groupId>com.alibaba.cloud</groupId>
     <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
 </dependency>
  1. 新建bootstrap.yml 添加如下配置:
spring:
  application:
    name: userservice #服务名称
  profiles:
    active: dev #开发环境,这里是dev
  cloud:
    nacos:
      server-addr: localhost:8848 #Nacos地址
      config:
        file-extension: yaml #文件后缀名
  1. 测试是否拿到nacos中的配置 UserController.java
@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")注入,自动刷新

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年08月07日 0

暂无评论

推荐阅读
  VGxawBTN4xmE   2天前   19   0   0 Java
  FHUfYd9S4EP5   4天前   29   0   0 Java
  u8s65Xl4dX8N   7小时前   9   0   0 Java
  qCe06rFCa8NK   8小时前   13   0   0 Java
  ZTo294hNoDcA   4天前   29   0   0 Java
  FHUfYd9S4EP5   4天前   24   0   0 Java