Nacos 2.x 相比上面 30s 一次的长轮训,升级成长链接模式,配置变更,启动建立长链接,配置变更服 | Nacos 官网
云栖回顾 | 2024 云栖大会微服务和网关相关演讲材料Know more

Nacos 2.x 相比上面 30s 一次的长轮训,升级成长链接模式,配置变更,启动建立长链接,配置变更服


用户问题 :

Nacos 2.x 相比上面 30s 一次的长轮训,升级成长链接模式,配置变更,启动建立长链接,配置变更服务端推送变更配置列表,然后 SDK 拉取配置更新,因此通信效率大幅提升。为什么


专家官方解答 :

Nacos 2.x 的配置管理模块相较于早期版本的轮询机制进行了重要升级,采用了长连接模式来显著提高通信效率和实时性。以下是基于提供的知识内容对该改进的分析及解释:

原因分析

在早期版本中,Nacos客户端采用的是定时轮询(如每30秒)的方式去检查配置是否有更新,这种方式有几个缺点:

  1. 资源消耗:频繁的轮询对客户端和服务端都会造成不必要的资源开销。
  2. 延迟感知:客户端获取到最新配置存在延时,无法做到即时更新。
  3. 扩展性限制:随着客户端数量的增长,服务端压力会显著增加。

升级至长连接模式的优势

针对上述问题,Nacos 2.x 引入了长连接模式,具体改进包括:

  • 建立长连接:客户端与服务端启动时即建立长连接,减少了每次请求时建立连接的开销。
  • 服务端推送:配置变更时,服务端直接通过长连接向客户端推送变更通知,而不是等待客户端下次轮询。
  • 按需拉取:客户端接收到变更通知后,仅需拉取变更的配置列表,而不是全量拉取,进一步减少数据传输量和提升效率。
  • 实时性增强:相比轮询,长连接下的配置更新几乎是实时的,极大地提高了配置变更的响应速度。

解释

这一系列改进使得Nacos 2.x在配置管理上实现了以下几个关键优势:

  1. 通信效率大幅提升:减少了不必要的网络请求,减轻了服务端压力,提升了整体系统的响应能力。
  2. 降低延迟:客户端几乎能在配置更改的瞬间得到通知,减少了业务配置生效的时间差。
  3. 资源优化:长连接避免了频繁的TCP连接建立与销毁,节约了系统资源,特别是对于大规模分布式系统而言,这一点尤为重要。

综上所述,Nacos 2.x通过引入长连接模型,不仅解决了传统轮询机制的低效问题,还极大增强了配置管理的实时性和系统整体的资源利用率。此乃是对原有机制的重大优化,体现了Nacos在持续提升用户体验和系统性能方面所做的努力。

---------------

参考链接 :

  • 专家经验:Nacos 配置无法动态刷新

  • 专家经验:Nacos用作配置中心的话,能够支持百万级别的客户端连接嘛

  • 专家经验:Nacos 配置中心的数据同步和一致性问题

---------------

答疑服务说明:

本内容经由技术专家审阅的用户问答的镜像生成,我们提供了专家智能答疑服务,使用方法: 用法1: 在页面的右下的浮窗”专家答疑“。 用法2: 点击专家答疑页(针对部分网站不支持插件嵌入的情况)

另:

有其他开源产品的使用问题?点击访问阿里AI专家答疑服务

反馈

如问答有错漏,欢迎点:差评给我们反馈。