Nacos1.X源码解读(待完善)

目录

下载源码

注册服务

客户端注册流程

注册接口API

服务端处理注册请求

设计亮点

服务端流程图


下载源码

  1. 克隆git地址到本地
cs 复制代码
# 下载nacos源码
git clone https://github.com/alibaba/nacos.git
  1. 切换分支到1.4.7, maven编译(3.5.1+)

  2. 找到启动类com.alibaba.nacos.Nacos

  3. 启动VM参数设置单机模式, RUN 启动类

java 复制代码
-Dnacos.standalone=true
  1. 启动本地服务注册到本地nacos

注: nacos1.4 springcloud版本依赖参考

版本说明 · alibaba/spring-cloud-alibaba Wiki · GitHub

XML 复制代码
		<spring-boot.version>2.6.3</spring-boot.version>
		<spring-cloud-alibaba.version>2021.0.1.0</spring-cloud-alibaba.version>
		<spring-cloud.version>2021.0.1</spring-cloud.version>

注册服务

客户端注册流程

注册接口API

路径:/nacos/v1/ns/instance

服务端处理注册请求

设计亮点

  1. CopyOnWrite, 拷贝副本, 修改副本数据, 再赋值. 修改期间读真实数据
  2. BlockingQueue阻塞队列, 单线程处理任务, 避免并发, 业务解耦, 及时唤醒减少延迟
  3. 实例变更后, udp主动推送客户端, 减少客户端实例列表有延迟

服务端流程图

相关推荐
Ahtacca16 分钟前
Redis 五大常用数据类型详解及 Java 客户端(RedisTemplate)操作实战
java·数据库·redis·学习·缓存
廋到被风吹走38 分钟前
【Spring】Spring Cache 深度解析
java·后端·spring
计算机毕设VX:Fegn08951 小时前
计算机毕业设计|基于springboot + vue个人博客系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
2501_946675641 小时前
Flutter与OpenHarmony打卡轮播图组件
java·javascript·flutter
独自破碎E1 小时前
Spring Boot 3.x和2.x版本相比有哪些区别与改进?
java·spring boot·后端
坚持学习前端日记1 小时前
个人运营小网站的最佳策略
java·学习·程序人生·职场和发展·创业创新
幽络源小助理1 小时前
SpringBoot+Vue美食网站系统源码 | Java餐饮项目免费下载 – 幽络源
java·vue.js·spring boot
k***92161 小时前
C++:继承
java·数据库·c++
Coder_Boy_1 小时前
基于SpringAI企业级智能教学考试平台考试模块全业务闭环方案
java·人工智能·spring boot·aiops
微爱帮监所写信寄信2 小时前
微爱帮监狱寄信写信小程序信件内容实时保存技术方案
java·服务器·开发语言·前端·小程序