1.spring cloud nacos可以做什么?
①服务限流降级:默认支持servlet,feign,resttemplate,dubbo,rocketMQ限流降级功能的介入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级metrics监控。②服务注册与发现:适配springcloud服务注册与发现标准,默认集成了ribbon的支持③分布式配置管理:支持分布式系统中的外部化配置,配置更改时自动刷新④消息驱动能力:基于spring cloud stream为微服务应用构建消息驱动能力⑤阿里云对象存储:阿里云提供的海量,安全,低成本,高可靠的云存储服务支持在任何应用任何时间,任何地点存储和访问任何类型的数据⑥分布式任务调度:提供秒级,精准,高可靠,高可用的定时(基于cron表达式)任务调度服务,同时提供分布式的任务执行模型,如网格任务,网格任务均匀分配到所有worker上执行。
2.pom文件:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
3.bootstrap.yml:
server:
port: 3377
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
server-addr: localhost:8848
file-extension: yaml
application.yml:
spring:
profiles:
active: dev
4.启动类:
@SpringBootApplication
@EnableDiscoveryClient
public class NacosConfigMain {
public static void main(String[] args) {
SpringApplication.run(NacosConfigMain.class, args);
}
}
5.controller:
@RestController
@RefreshScope
public class ConfigClientController {
@Value("{config.info}")
private String configInfo;
@GetMapping("/config/info")
public String getConfigInfo(){
return configInfo;
}
}
6.在nacos后台配置dataid规则:
prefix
默认为spring.application.name
的值,也可以通过配置项spring.cloud.nacos.config.prefix
来配置。spring.profile.active
即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当spring.profile.active
为空时,对应的连接符-
也将不存在,dataId 的拼接格式变成${prefix}.${file-extension}
file-exetension
为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension
来配置。目前只支持properties
和yaml
类型-