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

相关推荐
程序猿追几秒前
深度解码计算语言接口 (ACL):CANN 架构下的算力之门
架构
程序猿追15 分钟前
深度解码AI之魂:CANN Compiler 核心架构与技术演进
人工智能·架构
艾莉丝努力练剑1 小时前
跨节点通信优化:使用hixl降低网络延迟的实战
架构·cann
程序猿追1 小时前
深度解读 CANN HCCL:揭秘昇腾高性能集体通信的同步机制
神经网络·架构
程序员泠零澪回家种桔子2 小时前
Spring AI框架全方位详解
java·人工智能·后端·spring·ai·架构
CodeCaptain2 小时前
nacos-2.3.2-OEM与nacos3.1.x的差异分析
java·经验分享·nacos·springcloud
GIOTTO情2 小时前
舆情监测系统选型与技术落地:Infoseek 字节探索全栈架构解析与实战
架构
island13143 小时前
CANN ops-nn 算子库深度解析:神经网络计算引擎的底层架构、硬件映射与融合优化机制
人工智能·神经网络·架构
C澒3 小时前
前端整洁架构(Clean Architecture)实战解析:从理论到 Todo 项目落地
前端·架构·系统架构·前端框架
roman_日积跬步-终至千里3 小时前
【架构实战-Spring】动态数据源切换方案
架构