Nacos 配置推送机制的核心是 长轮询 (Long Polling),并在此基础上进行了一些优化和增强,以实现高效、实时的配置更新。
简单来说,Nacos 使用长轮询的方式,让客户端“守株待兔”,等待服务端推送配置变更的消息。
1. 核心机制:长轮询 (Long Polling)
- 客户端发起长轮询请求: Nacos 客户端启动后,会向 Nacos 服务端发起一个 长连接的 HTTP 请求,通常是
/listener接口。 这个请求不是立即返回的,而是服务端会 保持连接挂起 (hold)。 - 服务端等待配置变更: Nacos 服务端接收到客户端的长轮询请求后,不会立即响应。它会 监听配置中心是否有配置发生变更 (例如,配置被修改、发布等)。
- 配置变更触发推送:
- 如果配置发生变更: Nacos 服务端检测到配置变更后,会找到所有 注册监听了该配置的客户端的长连接,并 立即响应 这些长轮询请求,将最新的配置数据返回给客户端。
- 如果没有配置变更 (超时): 如果在 一定时间内 (例如,默认30秒) 配置没有发生变更,服务端会 超时 并 响应空数据 给客户端。
- 客户端处理响应并重新发起请求:
- 收到配置变更: 客户端收到服务端返回的配置数据后,会 更新本地缓存的配置,并

最低0.47元/天 解锁文章
1366

被折叠的 条评论
为什么被折叠?



