客户端(微服务)是通过一个定时任务来检查自己监听的配置项的数据的,一旦服务端(nacos)的数据发生变化时,客户端将会获取到最新的数据,并将最新的数据保存在一个 CacheData 对象中,然后会重新计算 CacheData 的 md5 属性的值,此时就会对该 CacheData 所绑定的 Listener 触发 receiveConfigInfo 回调。
Nacos 服务信息"推送"本质还是拉模式,具体流程为:
1、Nacos 客户端会循环请求服务端变更的数据,并且超时时间设置为 30s,当配置发生变化时,请求的响应会立即返回;
2、服务端数据变更后,找到具体的客户端请求中的 response,然后直接将结果写入 response 中;
3、Nacos 客户端就能够实时感知到服务端配置发生了变化。
网友评论