【Spring Cloud】之Nacos

打印 上一主题 下一主题

主题 886|帖子 886|积分 2658

——笔记源于黑马

使用Nacos


  • 启动Nacos
  1. startup.cmd -m standalone  单机启动Nacos
复制代码

  • 在父工程pom.xml引入依靠
  1. <dependency>
  2.      <groupId>com.alibaba.cloud</groupId>
  3.      <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  4.      <version>2.2.6.RELEASE</version>
  5.      <type>pom</type>
  6.      <scope>import</scope>
  7. </dependency>
复制代码

  • 在微服务pom.xml中引入nacos客户端依靠
  1. <dependency>
  2.     <groupId>com.alibaba.cloud</groupId>
  3.     <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  4. </dependency>
复制代码

  • 在微服务application.yml中配置nacos地点
  1. spring:
  2.   cloud:
  3.     nacos:
  4.       server-addr: localhost:8848 #nacos服务地址
复制代码
配置集群和负载均衡


  • 设置集群
  1. spring:
  2.   cloud:
  3.     nacos:
  4.       server-addr: localhost:8848 #nacos服务地址      discovery:        cluster-name: HZ #配置集群名称
复制代码

  • 配置Nacos负载均衡
    在服务使用者中添加配置
  1. userservice:
  2.   ribbon:
  3.     NFloadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule #配置Nacos负载均衡策略
复制代码

Nacos设置权重

点击编辑按钮设置权重


设置情况隔离
  1. spring:
  2.   cloud:
  3.     nacos:
  4.       discovery:
  5.         namespace: xxx  #命名空间ID
复制代码
Nacos和Eureka的区别


设置是否是临时实例
  1. spring:
  2.   cloud:
  3.     nacos:
  4.       discovery:
  5.         ephemeral: false #是否是临时实例
复制代码

Nacos配置管理



  • 在Nacos中新建统一配置

  • 在微服务中引入nacos配置管理依靠
  1. <dependency>
  2.      <groupId>com.alibaba.cloud</groupId>
  3.      <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  4. </dependency>
复制代码

  • 新建bootstrap.yml 添加如下配置:
  1. spring:
  2.   application:
  3.     name: userservice #服务名称
  4.   profiles:
  5.     active: dev #开发环境,这里是dev
  6.   cloud:
  7.     nacos:
  8.       server-addr: localhost:8848 #Nacos地址
  9.       config:
  10.         file-extension: yaml #文件后缀名
复制代码

  • 测试是否拿到nacos中的配置 UserController.java
  1. @Value("${pattern.dateformat}")
  2. private String dateformat;
  3. @GetMapping("now")
  4. public String now(){
  5.     return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));
  6. }
复制代码
访问http://localhost:8081/user/now显示结果

配置热更新

方式一:通过@Value注入,在UserController上加上@RefreshScope注解实现nacos配置热更新
方式二:通过@ConfigurationProperties(prefix = "pattern")注入,主动革新

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

知者何南

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表