当前位置: 首页 > article >正文

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:

<spring-cloud-alibaba.version>2.2.8.RELEASE</spring-cloud-alibaba.version>

通过 spi 机制注入:
image.png
注册 NacosAutoServiceRegistration 对象:
image.pngNacosAutoServiceRegistration 对象实现了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 所在位置:
image.png
源码如下图所示:
image.png

Nacos 中 gRPC

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


http://www.kler.cn/a/147200.html

相关文章:

  • (长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(下)----空间数据的编辑与处理(超超超详细!!!)
  • 蓝桥杯-顺子日期
  • 【网络安全面经】OSI七层模型每层都有什么协议
  • 21.3D surface
  • 如何让手机ip变成动态
  • day-83 最少翻转次数使二进制矩阵回文 II
  • 使用char.js 柱形方式显示 一年12个月的最高气温与最低气温
  • MongoDb 安装
  • JVM——垃圾回收算法(垃圾回收算法评价标准,四种垃圾回收算法)
  • 客户案例 | 思腾合力助力国内某人工智能研究院云算力租赁服务
  • Doris的向量化执行引擎
  • 工业级5G路由器:稳定性更高,网络速度更快!
  • HCIP-七、IS-IS 综合实验
  • sqli-labs靶场详解(less11-less16)
  • 迁移redis数据库中的数据到另一台服务器
  • 渗透测试信息搜集
  • vscode代码调试配置
  • 快速搭建一个SpringCloud、SpringBoot项目 || 项目搭建要点
  • Memory Management Examples
  • 【华为OD题库-039】乘坐保密电梯-java
  • Android Tombstone 与Debuggerd 原理浅谈
  • 如何解决React子组件中的逻辑很多影响父组件回显速度的问题
  • 【python程序】把小于10的数值都变成1
  • Gitee上传代码教程
  • Linux基本命令二
  • Compensated Summation/Kahan‘s Summation的理解