开发者社区 问答 正文

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

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

展开
收起
一人吃饱,全家不饿 2021-02-01 20:40:10 1183 分享 版权
来自: 阿里开源
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
    赞同 展开评论