目录
问题背景
微服务依赖 apollo-client 并完成配置、启动微服务之后,会每隔两分钟在控制台输出内容 “ c.c.f.a.i.RemoteConfigLongPollService : Long polling failed, will retry in 120 seconds. ” ,虽然在理论上没什么影响,但是看着抛异常就很烦!
解决办法
1、如果是配置了域名转发、网关等,就把域名对应的网关超时时间修改成 大于 65s ;
2、取消 绕开 configserver 的服务发现,即大概率是因为直接通过变量设置 meta,例如在启动命令中加以下内容。这样就不会通过注册中心的服务发现去请求。
-Dapollo.configService=https://xxxx.xxx.com/configserver
根因分析
作为客户端,是通过请求 apollo config server 的 /notifications/v2 接口获取配置的,/notifications/v2 接口不会立即返回结果,而是把请求挂起。考虑到会有数万客户端向服务