千家信息网

nacos中DelegateConsistencyServiceImpl的作用是什么

发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,这期内容当中小编将会给大家带来有关nacos中DelegateConsistencyServiceImpl的作用是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
千家信息网最后更新 2025年01月28日nacos中DelegateConsistencyServiceImpl的作用是什么

这期内容当中小编将会给大家带来有关nacos中DelegateConsistencyServiceImpl的作用是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

ConsistencyService

nacos-1.1.3/naming/src/main/java/com/alibaba/nacos/naming/consistency/ConsistencyService.java

public interface ConsistencyService {    /**     * Put a data related to a key to Nacos cluster     *     * @param key   key of data, this key should be globally unique     * @param value value of data     * @throws NacosException     * @see     */    void put(String key, Record value) throws NacosException;    /**     * Remove a data from Nacos cluster     *     * @param key key of data     * @throws NacosException     */    void remove(String key) throws NacosException;    /**     * Get a data from Nacos cluster     *     * @param key key of data     * @return data related to the key     * @throws NacosException     */    Datum get(String key) throws NacosException;    /**     * Listen for changes of a data     *     * @param key      key of data     * @param listener callback of data change     * @throws NacosException     */    void listen(String key, RecordListener listener) throws NacosException;    /**     * Cancel listening of a data     *     * @param key      key of data     * @param listener callback of data change     * @throws NacosException     */    void unlisten(String key, RecordListener listener) throws NacosException;    /**     * Tell the status of this consistency service     *     * @return true if available     */    boolean isAvailable();}
  • ConsistencyService定义了put、remove、get、listen、unlisten、isAvailable方法

DelegateConsistencyServiceImpl

nacos-1.1.3/naming/src/main/java/com/alibaba/nacos/naming/consistency/DelegateConsistencyServiceImpl.java

@Service("consistencyDelegate")public class DelegateConsistencyServiceImpl implements ConsistencyService {    @Autowired    private PersistentConsistencyService persistentConsistencyService;    @Autowired    private EphemeralConsistencyService ephemeralConsistencyService;    @Override    public void put(String key, Record value) throws NacosException {        mapConsistencyService(key).put(key, value);    }    @Override    public void remove(String key) throws NacosException {        mapConsistencyService(key).remove(key);    }    @Override    public Datum get(String key) throws NacosException {        return mapConsistencyService(key).get(key);    }    @Override    public void listen(String key, RecordListener listener) throws NacosException {        // this special key is listened by both:        if (KeyBuilder.SERVICE_META_KEY_PREFIX.equals(key)) {            persistentConsistencyService.listen(key, listener);            ephemeralConsistencyService.listen(key, listener);            return;        }        mapConsistencyService(key).listen(key, listener);    }    @Override    public void unlisten(String key, RecordListener listener) throws NacosException {        mapConsistencyService(key).unlisten(key, listener);    }    @Override    public boolean isAvailable() {        return ephemeralConsistencyService.isAvailable() && persistentConsistencyService.isAvailable();    }    private ConsistencyService mapConsistencyService(String key) {        return KeyBuilder.matchEphemeralKey(key) ? ephemeralConsistencyService : persistentConsistencyService;    }}
  • DelegateConsistencyServiceImpl实现了ConsistencyService接口;其put、remove、get、listen、unlisten方法内部都使用了mapConsistencyService来判断是使用ephemeralConsistencyService还persistentConsistencyService;其isAvailable方法要求ephemeralConsistencyService及persistentConsistencyService都是available

小结

ConsistencyService定义了put、remove、get、listen、unlisten、isAvailable方法;DelegateConsistencyServiceImpl实现了ConsistencyService接口;其put、remove、get、listen、unlisten方法内部都使用了mapConsistencyService来判断是使用ephemeralConsistencyService还persistentConsistencyService;其isAvailable方法要求ephemeralConsistencyService及persistentConsistencyService都是available

上述就是小编为大家分享的nacos中DelegateConsistencyServiceImpl的作用是什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

方法 作用 内容 接口 分析 专业 中小 内容丰富 小结 就是 文章 更多 知识 篇文章 行业 角度 资讯 资讯频道 频道 有关 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发需求申请模板下载 联想服务器开机显示命令行 安全狗怎么加服务器 杭州市神舟网络技术有限公司 深信服服务器配置管理口 我的世界服务器手机版推荐技能 代理服务器能当网关设备吗 河南兰考网络安全工作招聘 数据库连接池是如何工作的 513代理服务器 游戏数据库设计实验报告 手机上怎么配置服务器环境 小学课堂网络技术 贵州成威网络技术有限公司 数据库表关联后啥数据也没有 vidon服务器 无线传感网络技术的应用领域 做财务用什么软件开发 泗阳网络技术诚信服务 华仔网络安全 嵌入式实时数据库系统的概述 会计证报考软件开发 辽宁学校时间频率同步服务器 网络安全法漫画宣传 EI数据库最早文献哪一年 程序获取新浪数据库连接 吉林网络技术服务代理商 巴南区提供软件开发流程代理品牌 腾讯云服务器网络连接 网络安全法及相关法律法规
0