1
Spring Cloud Alibaba 2.1.1.RELEASE版本 + Nacos 组合,当 Nacos 配置有变更时, SCA 未正确收到配置变更。
spring-cloud-alibaba 框架未加载到正确配置初步定位原因在spring-cloud-alibaba框架未正确处理nacos-client收到的配置推送
configInfo为最新的配置推送值,但此处sca的listener实现没有使用它,内容被丢弃。 查看代码确认SCA通过主动getConfig获取配置内容
重新获取配置有概率得到旧值SCA收到更新事件后,直接使用getConfig得到配置内容可能是旧值(原因见后文图示)
通过服务端推送日志时间序列可以证实该种情况:
2023-05-22 11:31:39,487 pod-4 persist
2023-05-22 11:31:39,505 pod-3 dump (将最新配置推送给客户端)
2023-05-22 11:31:39,513 pod-0 pull (收到变更推送时没有使用新值,主动查询时查到了pod-0的旧值)
2023-05-22 11:31:39,516 pod-0 pull
....
2023-05-22 11:31:39,526 pod-4 dump
2023-05-22 11:31:39,529 pod-2 dump
2023-05-22 11:31:40,540 pod-0 dump
2023-05-22 11:31:39,585 pod-1 dump
问题发生过程如下图所示: