微服务学习-SpringCloud -Nacos (服务发现源码学习)
第二种主动推送的方式是使用了UPD的方式,是不可靠的,有可能发生丢包。所以通过第一种定时拉取方式来进行兜底,即使主动推送失败了,也可以通过定时拉取的方式完成更新。我们进入 this.scheduleUpdateIfAbsent(serviceName, clusters)方法。它里面又会去调用queryList方法查询最新的列表,然后更新到本地。Spring的事件发布,发布了这样一个数据变化的事件。通过UPD的方式发送给客户端完成更新。然后调用updateIPs方法,
复制链接