springcloud alibaba——nacos作为配置中心
程序员文章站
2022-06-12 13:50:47
...
注:spring cloud alibaba不会像以前的springcloud一样由ConfigServer先从github上获取文件,再由微服务从ConfigServer上读取文件;springcloud alibaba技术直接把nacos作为配置中心,文件在nacos上面创建,也不需要由人为的手动动态刷新。
在nacos上存在namespace、group、dataId等概念,这些概念等同于:namespace——java类中的一级包,group——java类中的二级包,dataId——java类名,这样可以更好的分组管理。
微服务从nacos上面获取yaml
1、pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>springcloud</artifactId>
<groupId>com.springcloud</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>alibaba-config-nacos-client3377</artifactId>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<dependency>
<groupId>com.springcloud</groupId>
<artifactId>api-commons</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
</project>
2、主配置类(bootstrap.yml)
server:
port: 3377
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
server-addr: localhost:8848 #作为服务注册中心的地址
config:
server-addr: localhost:8848 #作为配置中心的地址
file-extension: yaml #指定读取文件的格式
group: TEST_GROUP #指定分组
namespace: 3550246c-5683-484b-99b0-9a9950eb0261
#${spring.application.name}-${spring.profile.active}.${spring.cloud.config.file-extension}
#nacos-config-client-dev.yml
3、主配置类(application.yml)
spring:
profiles:
#active: dev #表示开发环境
active: info #表示测试环境
4、控制器
package com.springcloud.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author dc
* @date 2020/8/11 - 14:39
*/
@RestController
@Slf4j
@RefreshScope //支持nacos动态刷新功能
public class ConfigClientController {
@Value("${config.info}")
private String configInfo;
@GetMapping("/config/info")
public String getConfigInfo() {
return configInfo;
}
}
5、主启动类
package com.springcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
/**
* @author dc
* @date 2020/8/11 - 14:38
*/
@SpringBootApplication
@EnableDiscoveryClient
public class NacosConfigClientMain3377 {
public static void main(String[] args) {
SpringApplication.run(NacosConfigClientMain3377.class, args);
}
}
推荐阅读
-
Nacos(四):SpringCloud项目中接入Nacos作为配置中心
-
SpringCloud之分布式配置中心Spring Cloud Config高可用配置实例代码
-
Zookeeper作为配置中心使用说明
-
Springcloud 2.x 版本 分布式配置中心
-
Spring Cloud Alibaba | Nacos服务中心初探
-
Spring Cloud Alibaba | Nacos配置管理
-
跟我学SpringCloud | 第七篇:Spring Cloud Config 配置中心高可用和refresh
-
SpringCloud学习系列之五-----配置中心(Config)和消息总线(Bus)完美使用版
-
SpringCloud学习笔记(7):使用Spring Cloud Config配置中心
-
荐 spring cloud alibaba nacos 实现配置管理