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 通讯;

相关推荐
神算大模型APi--天枢64612 分钟前
国产大模型后端开发与部署实战:从算力架构到行业规模化落地
大数据·运维·服务器·人工智能·架构
我就是你毛毛哥39 分钟前
微服务的拆分原则
微服务·云原生·架构
我就是你毛毛哥41 分钟前
微服务的注册中心
微服务·云原生·架构
元智启1 小时前
企业AI智能体:架构升级与生态跃迁,2025进入“智能体驱动”新阶段
人工智能·架构
没有bug.的程序员2 小时前
Ribbon vs LoadBalancer 深度解析
jvm·后端·spring cloud·微服务·ribbon·架构·gc调优
想学后端的前端工程师2 小时前
【分布式系统架构设计实战:从单体到微服务】
微服务·云原生·架构
Wang201220132 小时前
AI 相关的算法;架构等专有名称总结和介绍
人工智能·算法·架构
乾元2 小时前
红队 / 蓝队:用 AI 自动生成攻击场景并评估防御效果——从“安全演练”到“可计算的网络对抗系统”
运维·网络·人工智能·网络协议·安全·web安全·架构
小怪兽会微笑2 小时前
MoM (Mixture-of-Memories)新型线性序列建模架构
人工智能·深度学习·架构
小股虫10 小时前
数据一致性保障:从理论深度到架构实践的十年沉淀
架构·wpf