开发者社区> 问答> 正文

nacos是如何实现配置变化,所有机器上的长轮训都能返回结果呢

一旦配置变更了,怎么通知所有的客户端呢。 apollo是通过定时任务扫描数据库,如果配置变更了,那么所有机器上的长轮训都会返回结果。 看源码, nacos是在应用里维持了一个sub队列,那配置变更了,只有这台机器的长轮训会返回结果啊。这个是怎么解决的呢?

展开
收起
一人吃饱,全家不饿 2021-02-01 20:40:10 1150 0
来自:阿里开源
1 条回答
写回答
取消 提交回答
  • 参见这块代码:

    https://github.com/alibaba/nacos/blob/develop/config/src/main/java/com/alibaba/nacos/config/server/service/LongPollingService.java

    https://github.com/alibaba/nacos/blob/develop/config/src/main/java/com/alibaba/nacos/config/server/controller/CommunicationController.java

    服务端存在水平通知的逻辑

    2021-02-01 20:40:21
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
阿里巴巴相信开源的世界里人人贡献代码,人人获得收益,共同创造一个互帮互利的社区,促进技术进步和发展。
问答排行榜
最热
最新

相关电子书

更多
Nacos架构&原理 立即下载
workshop专场-微服务专场-开发者动手实践营-微服务-使用Nacos进行服务的动态发现和流量调度 立即下载
Nacos 启航,发布第一个版本, 云原生时代助力用户微服务平台建设 立即下载