Erlo

【Spring Cloud】之Nacos

2024-07-12 12:29:18 发布   53 浏览  
页面报错/反馈
收藏 点赞

——笔记源于黑马

在这里插入图片描述

使用Nacos

  1. 启动Nacos
startup.cmd -m standalone  单机启动Nacos
  1. 在父工程pom.xml引入依赖
 
 
     com.alibaba.cloud
     spring-cloud-alibaba-dependencies
     2.2.6.RELEASE
     pom
     import
 
  1. 在微服务pom.xml中引入nacos客户端依赖
 

    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-discovery

  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配置管理依赖

 
 
     com.alibaba.cloud
     spring-cloud-starter-alibaba-nacos-config
 
  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")注入,自动刷新

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认