Nacos 2.X核心架构源码剖析

概述

  • 注册中心并发处理,1.4.x 写时复制,2.1.0 读写分离;
  • nacos 一般使用 AP 架构,即临时实例,1.4.x 为 http 请求,2.1.0 优化为 gRPC 协议;
  • 源码中使用了大量的事件通知机制和异步定时线程池;
  • 源码中添加了对应的注释,后期再画流程图;

源码仓库:https://gitee.com/firechou/source-nacos-2.1.0.git

客户端启动

客户端 pom.xml 引入 client:

bash 复制代码
<spring-cloud-alibaba.version>2.2.8.RELEASE</spring-cloud-alibaba.version>

通过 spi 机制注入:

注册 NacosAutoServiceRegistration 对象:
NacosAutoServiceRegistration 对象实现了ApplicationListener 类,需要实现里面的 onApplicationEvent 方法,调用 this.start() 》 this.register() 》 this.serviceRegistry.register(this.getRegistration()) (即 NacosServiceRegistry#register,上图注入的 bean),再调用 namingService.registerInstance(serviceId, group, instance),最终调用源码中 client 包的 NacosNamingService#registerInstance(String, String, Instance) 方法,到此可以跟着下载的源码包继续分析了。

com.alibaba.cloud.nacos.registry.NacosServiceRegistry#register 所在位置:

源码如下图所示:

Nacos 中 gRPC

临时实例 AP 架构通过 gRPC 通讯;

相关推荐
汪碧康13 分钟前
一文讲解kubernetes的gateway Api的功能、架构、部署、管理及使用
云原生·容器·架构·kubernetes·gateway·kubelet·xkube
Blossom.11815 分钟前
从单点工具到智能流水线:企业级多智能体AI开发工作流架构实战
人工智能·笔记·python·深度学习·神经网络·架构·whisper
梵得儿SHI16 分钟前
实战项目落地:微服务拆分原则(DDD 思想落地,用户 / 订单 / 商品 / 支付服务拆分实战)
spring cloud·微服务·云原生·架构·微服务拆分·ddd方法论·分布式数据一致性
Blossom.11818 分钟前
从“金鱼记忆“到“超级大脑“:2025年AI智能体记忆机制与MoE架构的融合革命
人工智能·python·算法·架构·自动化·whisper·哈希算法
铁蛋AI编程实战19 分钟前
AI Agent工程化落地深度解析:从架构拆解到多智能体协同实战(附源码/避坑)
人工智能·架构
vx-bot55566613 小时前
企业微信接口在多租户SaaS平台中的集成架构与数据隔离实践
大数据·架构·企业微信
桌面运维家15 小时前
vDisk流量怎么精细化分配?VOI/IDV架构配置指南
架构
zuozewei16 小时前
7D-AI系列:DeepSeek Engram 架构代码分析
人工智能·架构
徐礼昭|商派软件市场负责人16 小时前
Moltbot,也就是OpenClaw的底层架构解析
架构
国科安芯16 小时前
面向星载芯片原子钟的RISC-V架构MCU抗辐照特性研究及可靠性分析
单片机·嵌入式硬件·架构·制造·risc-v·pcb工艺·安全性测试