Nacos简单使用详解
安装Nacos服务端(Linux版)
官网地址:href=“https://nacos.io/”(注意:选择与微服务对应的版本)
1 准备工作
1.1 项目引入pom依赖(父项目管理版本,省略版本号标签version)
<!--nacos注册中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--nacos配置中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
1.2 主启动类添加注解 @EnableDiscoveryClient
@SpringBootApplication
//开启nacos注册发现
@EnableDiscoveryClient
public class Order80Application {
public static void main(String[] args) {
SpringApplication.run(Order80Application.class,args);
}
}
2 注册中心(yaml 配置)
bootstrap.yaml
server:
port: 80
spring:
application:
name: order-server
cloud:
nacos:
discovery:
#命名空间
namespace: dev
#分组
group: dev_group
#注册中心地址
server-addr: 127.0.0.1:8848
3 配置中心
3.1 基本配置
Data ID 的完整规则格式如下
$ {prefix}-$ {spring.profile.active}.${file-extension}
prefix 默认为所属工程配置spring.application.name 的值(即:nacos-provider),也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
spring.profiles.active=dev 即为当前环境对应的 profile。 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 $ {prefix}.${file-extension}
file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。 3.1 yaml 配置
3.1.1 bootstrap.yaml(配置中心的属性须写入此文件)
spring:
application:
name: order-server
cloud:
nacos:
config:
# 命名空间
namespace: dev
# 配置中心地址
server-addr: 127.0.0.1:8848
# 配置文件的data-id,默认使用服务名(spring.application.name)
#name: gateway.yaml
# 配置文件类型:test|json|xml|yaml|properties
file-extension: yaml
# 分组名称,默认为【DEFAULT_GROUP】
group: DEFAULT_GROUP
# 自动刷新配置,默认为true
refresh-enabled: true
3.1.2 application.yaml
spring:
profiles:
active: dev #激活的环境
3.2 动态刷新,拉取配置中心的属性
@RestController
//自动刷新
@RefreshScope
public class ConfigController {
/**
* 这里的值从配置中心读取
*/
@Value("${stu.name}")
private String name;
@GetMapping("/showInfo")
public String showInfo(){
System.out.println("姓名 : " + name);
return "姓名 : " + name;
}
}
3.3 配置持久化
3.3.1 创建命名为Nacos的数据库
- 执行sql文件: /nacos/conf/nacos-mysql.sql
3.3.2 修改application.properties配置文件
将下图中的配置取消注释,改成自己的配置