nacos2.0配置中心源码总结

本文总结了Nacos 2.0.4版本的配置中心源码,涉及NotifyCenter的发布订阅机制,AsyncNotifyService的异步通知实现,包括AsyncNotifyService.AsyncTask在配置变更时的角色,以及客户端NacosConfigService的行为。重点关注了配置发布过程及客户端如何响应配置变化。
摘要由CSDN通过智能技术生成

前提

nacos 2.0.4
个人学习总结,仅供参考,如有问题还请各位老爷指正

1. NotifyCenter

基于发布订阅的方式,进行广播通知,主要涉及

  • registerToPublisher
  • registerSubscriber

比如关于配置变更的事件-ConfigDataChangeEvent,就是在AsyncNotifyService初始化时进行订阅的

2. AsyncNotifyService

主要涉及异步通知所有节点进行数据更新操作

@Autowired
    public AsyncNotifyService(ServerMemberManager memberManager) {
   
        this.memberManager = memberManager;
        
        // Register ConfigDataChangeEvent to NotifyCenter.
        NotifyCenter.registerToPublisher(ConfigDataChangeEvent.class, NotifyCenter.ringBufferSize);
        
        // Register A Subscriber to subscribe ConfigDataChangeEvent.
        NotifyCenter.registerSubscriber(new Subscriber() {
   
            
            @Override
            public void onEvent(Event event) {
   
                // Generat
Nacos是一个开源的服务发现和配置管理平台,Nacos 2.0 是其中的一个重要版本。下面我来回答关于Nacos 2.0的一些面试题。 1. Nacos 2.0 有哪些新特性? Nacos 2.0 引入了许多新特性,包括但不限于: - Nacos Server支持嵌入式数据库,用于高效管理和存储配置信息。 - 支持在集群环境下使用嵌入式数据库,提高配置信息的可用性和一致性。 - 引入了灰度发布功能,可以在不影响现有服务的情况下进行新版本的测试和发布。 - 支持多Namespace,可以为不同的场景创建不同的命名空间,方便信息隔离和管理。 - 引入了OpenAPI规范,可以通过RESTful API进行更加灵活和强大的配置管理。 - 提供更加便捷的UI界面,提供更好的用户使用体验。 2. Nacos 2.0 如何实现高可用性? Nacos 2.0通过使用嵌入式数据库和集群环境来实现高可用性。嵌入式数据库可以在Nacos Server中进行高效的数据管理和存储,保证了配置信息的可用性和一致性。同时,Nacos支持在集群环境下运行多个Nacos Server实例,配置信息会在这些实例之间进行同步和复制,当其中一个实例发生故障时,其他实例可以自动接管服务,保证了高可用性。 3. Nacos 2.0 如何实现灰度发布功能? Nacos 2.0通过引入灰度发布功能,使得在不影响现有服务的情况下进行新版本的测试和发布成为可能。在Nacos中,可以为特定服务实例或特定目标服务提供不同的配置信息,如权重、版本信息等,从而控制新版本的流量比例,实现灰度发布。这样可以逐步验证和稳定新版本,最终实现全量发布。 总的来说,Nacos 2.0在高可用性、灰度发布等方面都进行了优化和改进,提供了更加稳定可靠和灵活强大的功能,使得其在微服务架构中扮演了重要的角色。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值