apolloconfig / apollo

Apollo is a reliable configuration management system suitable for microservice configuration management scenarios.
https://www.apolloconfig.com
Apache License 2.0
29.16k stars 10.2k forks source link

使用apollo.configService 参数配置来跳过的meta server 会导致的longpolling 失败 #2060

Closed liurongwei closed 5 years ago

liurongwei commented 5 years ago

由于公司配置中心是部署到生产环境,为了便于同步配置,测试环境的也是使用公司的一套portal来管理。所在在开发环境测试时使用 apollo.configService 来参数来跳过meta server,来直接访问配置,配置的获取和刷新都没有问题,但定时的long polling 会报超时的警告。

2019-03-19 10:38:28.338 WARN 29356 --- [ngPollService-1] c.c.f.a.i.RemoteConfigLongPollService : Long polling failed, will retry in 120 seconds. appId: spring-boot-demo, cluster: default, namespaces: application, long polling url: http://**xxx.configserver.com**/notifications/v2?cluster=default&appId=spring-boot-demo&ip=10.0.75.1&notifications=%5B%7B%22namespaceName%22%3A%22application%22%2C%22notificationId%22%3A36%7D%5D, reason: Could not complete get operation [Cause: Read timed out]

请问题下long polling 如果发现没有最新的notificationId会一直等待吗?有办法消除些警告吗?

nobodyiam commented 5 years ago

xxx.configserver.com对应的是一个nginx吧,调整一下它的超时设置大于60秒即可

liurongwei commented 5 years ago

如上设置,警告信息已经没有了,非常感谢,

liurongwei commented 5 years ago

xxx.configserver.com对应的是一个nginx吧,调整一下它的超时设置大于60秒即可

顺便问一下 apollo.configService 这个配置支持配置到配置文件里面吗?

nobodyiam commented 5 years ago

这个是system property参数,一般用于开发调试使用,建议本地通过-D传入,不过java也只是System.setProperty传入

fengshuzi commented 5 years ago

xxx.configserver.com对应的是一个nginx吧,调整一下它的超时设置大于60秒即可

@nobodyiam 这个 60s可以配置吗?在k8s不方便改这个超时时间

JaredTan95 commented 5 years ago

xxx.configserver.com对应的是一个nginx吧,调整一下它的超时设置大于60秒即可

@nobodyiam 这个 60s可以配置吗?在k8s不方便改这个超时时间

https://github.com/ctripcorp/apollo/pull/2532 master代码已经支持

freshgeek commented 1 month ago

使用

请问这个是客户端读超时时间还是客户端连接超时时间?或是两个同时?