欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

跟燕青学Nacos系列05-Nacos配置管理

程序员文章站 2022-07-15 09:42:12
...

Nacos支持基于Namespace和Group的配置分组管理,以便用户更灵活的根据自己的需要按照环境或者应用、模块等分组管理微服务的大量配置,在配置管理中主要提供了配置历史版本、回滚、订阅者查询等核心管理能力。

配置列表

点击Nacos控制台的配置管理->配置列表菜单,即可看到以下界面展示:
跟燕青学Nacos系列05-Nacos配置管理

界面中展示了不同namespace下的配置集列表,可点击左上角的不同namespace进行切换。

右上角“+"号或点击某配置集后的编辑按钮可进入配置集编辑器。

多配置格式编辑器

Nacos支持 YAML、Properties、TEXT、JSON、XML、HTML 等常见配置格式在线编辑、语法高亮、格式校验,帮助用户高效编辑的同时大幅降低格式错误带来的风险。

Nacos支持配置标签的能力,帮助用户更好、更灵活的做到基于标签的配置分类及管理。同时支持用户对配置及其变更进行描述,方面多人或者跨团队协作管理配置。
跟燕青学Nacos系列05-Nacos配置管理

编辑DIFF

Nacos支持编辑DIFF能力,帮助用户校验修改内容,降低改错带来的风险。
跟燕青学Nacos系列05-Nacos配置管理

配置集导出

勾选若干配置集,点击导出选中的配置,可获得一个压缩包:
跟燕青学Nacos系列05-Nacos配置管理

压缩包内,包含了选中配置集所转换的配置文件:
跟燕青学Nacos系列05-Nacos配置管理

配置集导入

点击右上角的导入配置,可选择导出的压缩包文件,将压缩包内的文件恢复为nacos配置集。
跟燕青学Nacos系列05-Nacos配置管理

配置集克隆

点击左下角克隆按钮,将会弹出克隆对话框,此功能可用于将配置迁移到其他Namespace。
跟燕青学Nacos系列05-Nacos配置管理

历史版本

Nacos通过提供配置版本管理及其一键回滚能力,帮助用户改错配置的时候能够快速恢复,降低微服务系统在配置管理上的可用性风险。

跟燕青学Nacos系列05-Nacos配置管理

点击回滚:
跟燕青学Nacos系列05-Nacos配置管理

监听查询

Nacos提供配置订阅者即监听者查询能力,同时提供客户端当前配置的MD5校验值,以便帮助用户更好的检查配置变更是否推送到 Client 端。

跟燕青学Nacos系列05-Nacos配置管理

通过以下代码可对某配置进行监听:

public class SimpleDemoMainListener {
    public static void main(String[] args) throws NacosException {

        //nacos 地址
        String serverAddr = "127.0.0.1:8848";
        //Data Id
        String dataId = "nacos-simple-demo.yaml";
        //Group
        String group = "DEFAULT_GROUP";
        Properties properties = new Properties();
        properties.put("serverAddr",serverAddr);
        ConfigService configService = NacosFactory.createConfigService(properties);
        //获取配置,String dataId, String group, long timeoutMs
        String content = configService.getConfig(dataId, group, 5000);
        System.out.println(content);
        //添加监听String dataId, String group, Listener listener
        configService.addListener(dataId, group, new Listener() {
            public Executor getExecutor() {
                return null;
            }

            public void receiveConfigInfo(String s) {
                //当配置发生变化时的响应
                System.out.println(s);
            }
        });
        // 测试让主线程不退出,因为订阅配置是守护线程,主线程退出守护线程就会退出。 正式代码中无需下面代码
        while (true) {
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}
相关标签: nacos