【Spring Cloud】之Nacos
cnblogs 2024-07-12 12:09:00 阅读 94
——笔记源于黑马
使用Nacos
- 启动Nacos
<code>startup.cmd -m standalone 单机启动Nacos
- 在父工程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>
- 在微服务pom.xml中引入nacos客户端依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
- 在微服务application.yml中配置nacos地址
<code>spring:
cloud:
nacos:
server-addr: localhost:8848 #nacos服务地址
配置集群和负载均衡
- 设置集群
spring:
cloud:
nacos:
server-addr: localhost:8848 #nacos服务地址
discovery:
cluster-name: HZ #配置集群名称
- 配置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配置管理
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- 新建bootstrap.yml 添加如下配置:
<code>spring:
application:
name: userservice #服务名称
profiles:
active: dev #开发环境,这里是dev
cloud:
nacos:
server-addr: localhost:8848 #Nacos地址
config:
file-extension: yaml #文件后缀名
- 测试是否拿到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")注入,自动刷新
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。