我们目前有2000多微服务在使用nacos做配置中心以及服务发现,client 端每天都会上报十多次:no available server, currentServerAddr : 异常,这个问题我在前面有反馈,重试机制有问题,其实第一次超时即超时,不可能有第二次重试。 最近发现配置监听也有问题,server 会延迟29.5秒返回,这能保证配置变更后,尽快返回,即配置变更后,一次请求就能返回,增大了配置变更获取到的几率,但也使 server 内存暴涨。为何不client 端延迟15秒再次获取呢?
这里 client 端一旦长轮询结束,就又立刻马上长轮询,当微服务数量有限时,这或许很不错,在我个人压测中,当有数百个微服务时,内存就会暴涨,这块是否可以改为:client 端间隔轮询,server端立刻返回?
原提问者GitHub用户ijustyce
长轮询需要在服务端测有变化时立刻返回response,所以是在服务端持有29.5s。 如果是客户端等待29.5s。 那期间不能最快的感知到变化。
可以选择升级2.0,长连接之后就不再使用长轮询了。
原回答者GitHub用户KomachiSion
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。