Skip to content

配置中心 ​

深入理解SpringCloud配置中心的实现,掌握Config Server、Nacos Config等配置中心的工作原理,理解配置刷新、配置加密、多环境配置等核心功能。

📋 配置中心概览 ​

配置中心是微服务架构中配置管理的核心组件,SpringCloud提供了多种配置中心的集成。

🎯 一、Config Server ​

1.1 Config Server实现 ​

Config Server是SpringCloud的配置服务端:

ConfigServerAutoConfiguration:

java
@Configuration
@EnableConfigServer
public class ConfigServerAutoConfiguration {
    
    @Bean
    public EnvironmentRepository environmentRepository() {
        return new GitEnvironmentRepository();
    }
}

1.2 配置获取 ​

EnvironmentController:

java
@RestController
@RequestMapping(method = RequestMethod.GET, path = "/{name}/{profiles:.*[^-].*}")
public Environment getDefaultLabel(@PathVariable String name,
        @PathVariable String profiles) {
    return environmentRepository.findOne(name, profiles, null);
}

1.3 配置刷新 ​

RefreshEndpoint:

java
@Endpoint(id = "refresh")
public class RefreshEndpoint {
    
    @WriteOperation
    public Collection<String> refresh() {
        Set<String> keys = refreshEnvironment();
        return keys;
    }
}

🎯 二、Nacos Config ​

2.1 Nacos配置管理 ​

NacosConfigProperties:

java
@ConfigurationProperties("spring.cloud.nacos.config")
public class NacosConfigProperties {
    private String serverAddr;
    private String namespace;
    private String group = "DEFAULT_GROUP";
    private String fileExtension = "properties";
}

2.2 配置监听 ​

NacosContextRefresher:

java
public class NacosContextRefresher implements ApplicationListener<ApplicationReadyEvent> {
    
    @Override
    public void onApplicationEvent(ApplicationReadyEvent event) {
        configService.addListener(dataId, group, new Listener() {
            @Override
            public void receiveConfigInfo(String configInfo) {
                refreshContext();
            }
        });
    }
}

📖 学习资源 ​

视频教程 ​

书籍推荐 ​

  • 《Spring Cloud微服务实战》 - 翟永超

网站资源 ​

✅ 学习检查清单 ​

  • [ ] 已理解Config Server实现
  • [ ] 已理解配置刷新机制
  • [ ] 已理解Nacos Config集成
  • [ ] 已理解配置加密
  • [ ] 已总结核心知识点

上一章节:服务注册与发现
下一章节:网关实现
返回目录:SpringCloud源码深度解析