Nacos version:1.1.3
client version:1.0.0
dependency: 'org.springframework.cloud:spring-cloud-alibaba-nacos-config:0.9.0.RELEASE'
description as below:
NacosConfigService will be rebuilt every time the configuration file is changed in the console. After hundreds of configuration changes, the CPU will burst due to too many ClientWorker threads created.The NacosConfigService classe is not manually created。
Maybe problem is in the class org.springframework.cloud.alibaba.nacos.NacosConfigProperties,because springcloud will refresh class with annotation @ConfigurationProperties,this class will be rebuilt after every refresh phase.
詳情可參考 issue :https://github.com/alibaba/spring-cloud-alibaba/issues/912
問題簡單點描述為:使用了org.springframework.cloud:spring-cloud-alibaba-nacos-config:0.9.0.RELEASE 客戶端,在持續刷新配置文件的情況下會造成cpu 100%。
原因是因為在springcloud refresh environment的時候,NacosConfigService 會重復創建,NacosConfigService中包含了幾個定時任務的線程(名為:com.alibaba.nacos.client.Workder.fixed-***),在多次修改(線上慢慢積累)配置文件后,積累的的Worker線程會耗費掉cpu資源。
解決辦法:hold住 NacosConfigService實例,在刷新的時候不去創建新的類。注意:naming模塊也有相同的問題,解決辦法相同。



