Apollo is a reliable configuration management system suitable for microservice configuration management scenarios.
29.2k
stars
10.21k
forks
source link
AdminServiceAddressLocator中的定时任务RefreshAdminServerAddressTask的delay时间可以动态调整 #5245
Closed
youngzil closed 1 month ago
你的特性请求和某个问题有关吗?请描述
在我们做多AZ容灾演练时,发现 apollo-portal 不能正常服务(包括登录、OpenAPI接口等),通过后续排查发现是获取 在Portal中通过
/services/admin
获取的 adminServiceAddress 还存在异常的节点信息 code地址为:com.ctrip.framework.apollo.portal.component.RetryableRestTemplate#getAdminServices
Apollo-Portal 调用 Apollo-Admin的时候,是循环Admin的全部节点,直到调用成功 Apollo-Portal获取到Apollo-Admin已经被安全组隔离的节点地址,导致每次请求有都有概率需要先连接有问题的节点直到ConnectTimeoutException后再重试,导致HTTP RT增高,进而导致后续的HTTP的耗时增加
通过调整Eureka相关参数(配置文件可调整) 和 RefreshAdminServerAddressTask的执行时间,可以有效降低无效节点的淘汰时间
清晰简洁地描述一下你希望的解决方案
AdminServiceAddressLocator中有2个参数控制Task的执行时间
目前这2个参数是无法调整的,希望可以放在系统参数中,能够通过配置的方式调整此值
清晰简洁地描述一下这个特性的备选方案
其它背景
BTW:如果觉得这个特性合理,我可以提交这个实现的代码