Nacos 原理
一、Nacos的整体架构
Nacos的整体架构还是比较清晰的,我们可以从下面这个官方提供的架构图进行简单分析。
二、Nacos 原理
之前讲过注册中和配置中心的核心原理,信息的同步主要的几种方式:
- push (服务端主动push)
- pull (客户端的轮询), 超时时间比较短
- long pull (超时时间比较长)
2.1、配置中心原理
nacos 配置中心就是采用:客户端 long pull 的方式
- Nacos 客户端会循环请求服务端变更的数据,并且超时时间设置为30s,当配置发生变化时,请求的响应会立即返回,否则会一直等到 29.5s+ 之后再返回响应
- 客户端的请求到达服务端后,服务端将该请求加入到一个叫 allSubs 的队列中,等待配置发生变更时 DataChangeTask主动去触发,并将变更后的数据写入响应对象。
- 与此同时服务端也将该请求封装成一个调度任务去执行,等待调度的期间就是等DataChangeTask 主动触发的,如果延迟时间到了 DataCh