Soul网关(九)---- Nacos同步数据

Nacos 数据同步

soul-admin 监听数据变化并同步到 nacos

soul-admin的Nacos配置类 NacosConfiguration 初始化bean时通过 NacosFactory 创建配置服务。NacosDataChangedListener 监听器会监听配置的变化,并将变化的配置存入本地内存,然后通过 nacos 的配置服务将变化的数据同步到 nacos 中:

		// 将变化的数据同步到 nacos 中
		@SneakyThrows
    private void publishConfig(final String dataId, final Object data) {
        configService.publishConfig(dataId, GROUP, GsonUtils.getInstance().toJson(data));
    }

soul-bootstrap从 configServer 中同步变化的数据

在 soul-bootstrap中添加依赖:

        <dependency>
            <groupId>org.dromara</groupId>
            <artifactId>soul-spring-boot-starter-sync-data-nacos</artifactId>
            <version>${project.version}</version>
        </dependency>

soul-spring-boot-starter-sync-data-nacos 中自动配置类 NacosSyncDataConfiguration 在初始化bean是创建了 NacosSyncDataService 用于监听配置数据的变化并进行同步:

		/**
     * 观察到配置数据的变化,并从 configServer 中接收数据的改动
     * 5个配置集(DATA_ID)
     */
    public void start() {
        watcherData(PLUGIN_DATA_ID, this::updatePluginMap);
        watcherData(SELECTOR_DATA_ID, this::updateSelectorMap);
        watcherData(RULE_DATA_ID, this::updateRuleMap);
        watcherData(META_DATA_ID, this::updateMetaDataMap);
        watcherData(AUTH_DATA_ID, this::updateAuthMap);
    }

总结

Nacos 的 配置管理(ConfigServer)
nacos 中的几个概念:

命名空间(Namespace)
命名空间可用于进行不同环境的配置隔离。一般一个环境划分到一个命名空间

配置分组(Group)
配置分组用于将不同的服务可以归类到同一分组。一般将一个项目的配置分到一组

配置集(Data ID)
在系统中,一个配置文件通常就是一个配置集。一般微服务的配置就是一个配置集

主要功能

配置管理(发布、修改、查询、监听配置)

https://nacos.io/zh-cn/docs/feature-list.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值