nacos配置中心源码分析——拉取配置信息

目录

版本说明

nacos官方示例

集成nacos客户端源码分析

nacos服务端源码分析

总结


版本说明

个人认为分析配置中心的源码要比注册中心更需要spring boot源码的理解,主要体现在更新或者刷新容器内部配置文件内容。

主要分为两部分讲解:1、spring boot启动集成nacos及拉取远端配置信息;2、nacos动态更新配置,客户端如何感知并在未重启应用的情况下如何刷新配置。

spring-boot版本:1.5.21.RELEASE

spring-cloud-alibaba版本:1.5.1.RELEASE

nacos版本:1.x

nacos官方示例

在分析源码之前我们先来看一个nacos官方example示例:

public class ConfigExample {

    public static void main(String[] args) throws NacosException, InterruptedException {
        String serverAddr = "127.0.0.1";
        String dataId = "test";
        String group = "DEFAULT_GROUP";
        Properties properties = new Properties();
        properties.put("serverAddr", serverAddr);
        ConfigService configService = NacosFactory.createConfigService(properties);
        //根据dataId获取配置信息
        String content = configService.getConfig(dataId, group, 5000);
        System.out.println(content);
        //添加配置信息变更的监听器
        configService.addListener(dataId, group, new Listener() {
            @Override
            public void receiveConfigInfo(String configInfo) {
                System.out.println("receive:" + configInfo);
            }

            @Override
            public Executor getExecutor() {
                return null;
            }
        });
        //发布变更配置信息
        boolean isPublishOk = configService.publishConfig(dataId, group, "content");
        System.out.println(isPublishOk);

        Thread.sleep(3000);
        content = configService.getConfig(dataId, group, 5000);
        System.out.println(content);

        //根据dataId删除配置信息
        boolean isRemoveOk = configService.removeConfig(dataId, group);
        System.out.println(isRemoveOk);
        Thread.sleep(3000);

        content = configService.getConfig(dataId, group, 5000);
        System.out.println(content);
        Thread.sleep(300000);

    }
}

 执行结果:

根据示例结果我们先来认识一下nacos核心组件ConfigService,通过这个configS

  • 20
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值