1.nacos简介
Nacos是SpringCloudAlibaba架构中最重要的组件。
Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台,提供注册中心、配置中心和动态 DNS 服务三大功能。能够无缝对接Springcloud、Spring、Dubbo等流行框架。
2.nacos使用
2.1 nacos下载安装
下载地址:https://github.com/alibaba/nacos/releases
我这里下载的windows版本的,不需要安装,下载好直接解压,然后到bin目录下修改startup.cmd文件:
将mod中的clutter改为standalone
然后双击startup.cmd,服务启动。
出现如上图,显示启动成功,默认端口为8848,在浏览器输入http://localhost:8848/nacos,账号密码默认是:nacos/nacos,进入nacos服务页面:
3.搭建 nacos client服务
3.1添加依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.5.RELEASE</version>
<relativePath/>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>nacos-config</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>0.9.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>0.9.0.RELEASE</version>
</dependency>
</dependencies>
3.2 添加配置文件
bootstrap优先级比application高。
创建bootstrap.yml文件
```java
server:
port: 3377
spring:
application:
name: nacor-config-client
cloud:
nacos:
discovery:
server-addr: localhost:8848
config:
server-addr: localhost:8848
file-extension: yaml
创建application.yml文件
spring:
profiles:
active: dev
3.3 启动类
@SpringBootApplication
@EnableDiscoveryClient
public class NacorConfigApplication {
public static void main(String[] args) {
SpringApplication.run(NacorConfigApplication.class,args);
}
}
3.4 编写测试接口
@RestController
@RefreshScope //支持nacos的动态刷新功能
public class ConfigClientController {
@Value("${config.info}")
private String configInfo;
@GetMapping("/config/info")
public String getConfigInfo(){
return configInfo;
}
}
启动服务。可以在nacos服务列表看到启动的服务
3.5 在nacos页面添加配置文件
在配置管理页面点击“创建配置”或加号创建配置
配置如下
保存后在浏览器访问http://localhost:3377/config/info
3.6 修改配置动态刷新
修改配置后点击发布----> 确认发布
然后再次访问http://localhost:3377/config/info,可以看到配置已经改变
参考博客:https://blog.csdn.net/qq_39940489/article/details/123894744