从nacos config的代码来看,long pulling就是client端定时发起HTTP请求,server端在接收到请求后,在超时时间内定时做数据比对。当配置有变更时,server端写response。
此策略不会导致client端与server端频繁的建立过多的连接么。 想问下nacos config采用这种方案的考虑是什么,以及此方案的收益是什么。
原提问者GitHub用户wanghuigithub
只有上次的监听失败,才会再次建立起一个新的http链接去做,使用http协议最简单的就是用这种长轮训的模式,不需要客户端实现websocket协议或者Server Send Event协议,并且JDK底层对于http的使用是支持socket复用的,并且一般情况下,一个sdk在运行期间,同一时刻只会有一个长轮训监听任务,对于链接的过多建立问题,是不怎么严重的,同时1.3.x以及1.4.0重新优化了对于http层的使用,直接复用链接,而不是复用底层socket‘
同时这只是1.x的方案,2.x的方案将全面同步到长链接协议
原回答者GitHub用户chuntaojun
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。